Email and SMS Marketing Campaigns
Build consent-aware one-time and drip campaigns, reactivate past customers, and monitor delivery from the web office.
Email and SMS Marketing Campaigns
The web Marketing workspace brings V1's campaign and win-back workflow onto V2's tenant-scoped messaging services. It is for customer email and SMS marketing. It is separate from the door-to-door Canvassing campaign workspace.
Marketing campaigns are a web-office feature. No native mobile layout, navigation, label, or interaction changed as part of this release.
Access and permissions
Open Marketing in the signed-in web office. Signed-out requests to the Marketing workspace return to the sign-in page, including nested campaign URLs. Marketing API responses are private and use no-store caching so a browser or shared cache does not retain campaign or audience data.
A teammate with View automations can review campaigns, templates, audiences, and recorded performance. Manage automations is required to create or edit a draft, create a draft from a template, approve delivery, pause, resume, cancel, or archive a campaign.
Location-scoped teammates see and manage only campaigns and customers inside their authorized location. The application rechecks that scope on every read and change; a campaign ID from another organization or location does not grant access.
Campaigns and win-back templates
The workspace has two tabs:
- Campaigns lists campaign name, type, channel, status, audience size, and
evidence-backed delivery results. Filter the list by status or channel.
- Win-back templates contains four starting recipes. Selecting **Use
template** creates an editable draft. It never activates or sends the template by itself.
Campaign history is read-only for a teammate who can view but cannot manage automations.
Create a campaign
- Select New campaign.
- Under Setup, enter a name, select an authorized location, campaign type,
delivery channel, and location timezone.
- Under Audience, add the customer filters that must all match. Refresh
the preview to review the count, sample, and consent exclusions.
- Under Content, write the email, SMS, or ordered drip steps.
- Select Preview or Test. Both render sample content and calculate the
audience without sending email or SMS.
- Select Save draft.
- When the draft is ready, select Review & send. Confirm the audience,
channels, planned message count, timing, and exclusions before approval.
Choose the location when creating the campaign. The location stays fixed after creation so saved revisions, audience previews, consent checks, and delivery evidence remain scoped to the same authorized location. To target another location, create a new campaign.
Only a draft is editable. Approval creates an immutable campaign revision. One-time and audience-based drip approval freezes one recipient enrollment snapshot per matching customer. A triggered campaign evaluates each future durable event against the approved revision and freezes that event's eligible customer snapshot when the customer enrolls.
The approval screen is bound to the persisted draft revision and a server-prepared recipient fingerprint. If the draft or eligible audience changes after review, approval is rejected and the screen must be refreshed; the system does not silently send a different revision or recipient list.
Campaign types and channels
| Type | Behavior | Common use |
|---|---|---|
| One-time | Sends one email, one SMS, or one of each to the approved audience | Announcements and seasonal offers |
| Drip | Processes ordered email and SMS steps with delays and optional previous-message engagement conditions | Win-back and declined-estimate follow-up |
| Triggered | Enrolls an eligible customer when the configured durable business event occurs | Post-service referral or event-based reactivation |
Choose Email only, SMS only, or Email + SMS. A mixed-channel drip keeps one stable customer enrollment with separate approved email and phone destinations, so changing channel between steps does not split or stall the sequence.
Build an audience
Audience filters use AND logic: a customer must satisfy every configured filter. Multi-value selections within a filter use the choice described in the editor.
| Filter | What it can target |
|---|---|
| Primary audience | All customers, service history, last service, estimate/proposal status, or ZIP/location |
| Services | Customers who purchased any selected service, and customers who did not purchase excluded services |
| Service recency | Minimum days or months since the latest completed service |
| Lifetime spend | Optional minimum and maximum customer spend |
| Maintenance plan | Active, expired, or no plan |
| Lead source | One or more recorded sources |
| Estimate/proposal | Sent, viewed, accepted, declined, or expired within a lookback window |
| Geography | One or more ZIP codes inside the selected location |
| Property type | Residential, commercial, fleet, holiday lights, or configured types |
| Customer health | Active, at risk, dormant, or new |
| Customer tags | Customers carrying the selected CRM tags |
An estimate/proposal status lookback is enforced against the recorded date of the matching proposal status. For example, Declined within 30 days does not include an older decline merely because the customer still has a declined proposal on file.
The audience preview is a no-send calculation. It shows the matching count, a bounded customer sample, and how many contacts are already excluded by marketing consent. The server rebuilds and validates a one-time or drip audience when the campaign is approved; it does not trust a count sent by the browser. For a triggered campaign, the preview describes customers who match now, not a predetermined future send total. Each event is validated at admission.
Compose and preview messages
Email steps require a subject and body. SMS steps show character length and estimated segment count; text beyond 160 characters usually uses multiple billable segments.
Use only the merge fields offered by the editor. Preview and test replace them with sample values and never contact a provider. At delivery, values are rendered from the frozen customer enrollment and the approved campaign revision, not from arbitrary browser-supplied customer data.
Drip steps
A drip campaign contains ordered email or SMS steps. Each step has a delay from the previous step; email steps also have a subject. A later step can be conditioned on whether the previous email was opened, not opened, clicked, or not clicked.
Conditions skip or continue a linear sequence; they do not create a branching canvas. W36 does not claim V1-style multi-path automation branching.
Delivery work is durably identified by organization, campaign revision, recipient enrollment, step, and channel. Overlapping workers or retries cannot legitimately send the same approved step twice. Pausing or canceling is checked again before a due message reaches the provider.
Due work is leased for 10 minutes. Delivery is absolutely capped at three attempts per step, whether an attempt ends in a provider failure or an expired worker lease; a fourth provider dispatch does not occur. Each worker run processes at most 20 enrollments per organization and at most 10 per campaign and channel, within the caller's overall 1–200 item limit (50 by default). These bounds keep one large campaign from monopolizing a run.
Included win-back templates
| Template | Starting audience or event | Included timing |
|---|---|---|
| We Miss You! | No completed service for at least 90 days | One editable email/SMS campaign |
| Seasonal Reminder | Existing customers due for seasonal outreach, with a 120-day recency starting point | One editable email/SMS campaign |
| Declined Proposal Follow-Up | Recent declined or expired estimates/proposals | Email/SMS/email drip at days 7, 14, and 30 |
| Referral Request | Customer after completed service | Outreach beginning 3 days after service |
Template text and targeting are starting points. Review the audience, offer, links, timing, and company voice before approving a live campaign.
The V1 names, channels, delays, and audiences remain the baseline, with three intentional compatibility corrections. V2 converts legacy template markup to safe plain text instead of preserving a broken # call-to-action, does not invent a referral discount unless the business has configured that offer, and uses a functioning audience-driven drip where a V1 non-declined recipe was labeled "triggered" without an executable event worker. Event-triggered recipes in V2 are backed by a real durable business event.
Schedule, send, pause, and cancel
- Send now freezes the approved revision and audience, then queues due work.
- Schedule stores the future instant together with the selected location
timezone. A durable worker claims it when due.
- Pause prevents new due steps from reaching a provider. Already delivered
messages cannot be recalled. Work that has exhausted its three attempts remains failed even while the campaign is paused.
- Resume continues eligible enrollments from their recorded step. If a
non-triggered campaign has no queued, active, or waiting enrollment left, resume completes it atomically instead of leaving an empty active campaign. A triggered campaign resumes active so future durable events can enroll.
- Cancel permanently stops remaining queued work and records the reason and
time. It does not erase prior outcomes.
- Archive removes a draft or finished campaign from the normal working list
without deleting its evidence.
A one-time or audience-based drip campaign completes after every frozen enrollment reaches a terminal outcome, including an exhausted failure. A triggered campaign stays active after its current enrollments finish because a future qualifying durable event can enroll another customer; it remains active until the office pauses or cancels it.
Consent, preferences, and delivery safety
Campaign email and SMS use the marketing purpose, which is separate from service messages such as estimates and appointment updates. Clean Estimate Pro checks the current recipient, marketing consent, channel preference, SMS STOP state, and provider-bound delivery eligibility at admission and again before provider dispatch.
Marketing email includes unsubscribe support. Marketing SMS includes STOP instructions. An unsubscribe, revocation, recipient replacement, pause, or cancel recorded after approval suppresses a later due message. Suppressed recipients remain in history with a reason; they are not counted as sent.
A customer reply, a new job or lead appointment, or an opt-out on either approved channel exits the customer's whole campaign enrollment before a later step. The exit check is independent of the next scheduled send time, and the provider-bound guard rechecks the enrollment while holding its row lock.
Campaign timing uses the location timezone selected in the approved revision. Never use campaigns for urgent service notices.
Performance and history
Campaign lists and detail pages load their existing enrollment and message summaries efficiently even for campaigns with many records, while the displayed counts continue to reflect recorded outcomes.
The campaign detail page reports only recorded outcomes:
- queued, sent, delivered, opened, clicked, replied, suppressed, failed, and
exited outcomes; and
- evidence-backed results by channel and by step.
Delivery, open, and click counts come from canonical message records populated by provider events when the provider supports that signal. An unavailable provider signal is not presented as a measured zero. W36 does not display a conversion rate because the required business-outcome projection is not yet implemented.
Rates use the relevant evidence-backed denominator. A queued message is not a delivery, and a provider acceptance is not automatically a customer open or a conversion.
Before approving a live campaign
- Preview the exact email and SMS content.
- Confirm every link and offer date.
- Review the sample and consent-exclusion count.
- Check the location and timezone.
- Keep SMS concise and account for segment cost.
- Use Test first; it is guaranteed not to send.
- For one-time and audience-based drip delivery, confirm that Review & send
shows the audience, channels, timing, and planned maximum message count you expect. A triggered campaign has no predetermined future send total.
Was this article helpful?
Still need help? Contact support