Email and SMS Marketing Campaigns
Create, schedule, and analyze targeted email and SMS campaigns with audience segmentation, drip sequences, and win-back templates.
Email and SMS Marketing Campaigns
The Campaigns module lets you send targeted email and SMS messages to segments of your customer base. You can send one-time blasts, build multi-step drip sequences, and set up triggered campaigns that fire automatically on customer events. Navigate to Admin > Marketing to get started.
Campaign List
The main Marketing page displays all campaigns in a table view. Each row shows the campaign name, status badge, channel, audience size, messages sent, and open rate (email only).
| Column | Description |
|---|---|
| Name | The campaign name you assigned |
| Status | Draft, Active, Paused, or Completed |
| Channel | Email Only, SMS Only, or Email + SMS |
| Audience | Number of recipients matching the audience filter |
| Sent | Total messages delivered |
| Open Rate | Percentage of email recipients who opened the message |
Click any campaign row to open its detail page for editing, sending, or reviewing performance.
Creating a Campaign
- Click the New Campaign button in the upper right corner.
- Enter a Campaign Name -- use something descriptive like "Spring 2026 House Wash Promo."
- Select a Campaign Type (see below).
- Choose the Channel: Email Only, SMS Only, or Email + SMS.
- Configure your Audience using the audience builder.
- Set the Schedule -- send now or schedule for a future date and time.
- Compose your message content.
- Click Save Draft to save without sending, or Send Now to deliver immediately.
Campaign Types
CE Pro supports three campaign types. Select the one that matches your goal.
| Type | Description | Use Case |
|---|---|---|
| One-Time | Sends a single message to the selected audience | Seasonal announcements, special offers, new service launches |
| Drip | Sends a multi-step sequence with configurable delays between steps | Win-back sequences, onboarding flows, post-service follow-ups |
| Triggered | Sends automatically when a customer event occurs | Automated responses to proposal declines, service completions |
For one-time and triggered campaigns, you compose a single email and/or SMS template. For drip campaigns, you build a full sequence of steps using the drip sequence builder.
Channel Options
| Channel | What Gets Sent |
|---|---|
| Email Only | An HTML email with subject line, body, merge fields, and optional CTA button |
| SMS Only | A plain text SMS message (160-character single segment, or multi-segment for longer messages) |
| Email + SMS | Both an email and an SMS are sent. For one-time campaigns, each channel gets its own template |
Audience Builder
The audience builder determines which customers receive your campaign. Filters combine with AND logic -- a customer must match all active filters to be included.
A live audience counter in the upper right corner of the Audience Targeting card updates automatically as you adjust filters. This shows you exactly how many customers will receive the campaign before you send it.
Primary Audience Filter
Start by selecting a primary audience type:
| Primary Filter | Description |
|---|---|
| All Customers | Every customer in your CRM |
| By Service History | Customers who have (or have not) purchased specific services |
| By Last Service Date | Customers whose last service was more than N days ago |
| By Proposal Status | Customers with proposals in a specific status (declined, expired, sent, viewed, accepted) within a lookback window |
| By Location (Zip Code) | Customers in specific ZIP codes |
Additional Filters
Layer these filters on top of your primary audience to narrow the targeting further.
Services Purchased
- Must have purchased any of -- select one or more services (house wash, roof wash, driveway, deck wash, fence, gutter cleaning, window cleaning, holiday lights). Customers who have purchased at least one of the selected services are included.
- Must not have purchased -- exclude customers who have purchased certain services. Useful for targeting customers who have never tried a specific offering.
Client Spend and Recency
| Filter | Description |
|---|---|
| No service in at least (months) | Include customers whose last service was at least this many months ago |
| Days since service | Legacy filter -- same concept measured in days instead of months |
| Lifetime spend at least | Only include customers who have spent at least this dollar amount over their history |
| Lifetime spend at most | Cap the audience to customers under a certain lifetime spend threshold |
Maintenance Plan Status
Filter by whether a customer has an active maintenance plan, an expired plan, or no plan at all.
Property Type
Filter by property type: residential, commercial, fleet, or holiday lights.
Client Health
Filter by the system-calculated health status:
| Status | Meaning |
|---|---|
| Active | Customer has had recent service and is engaged |
| At Risk | Customer engagement is declining |
| Dormant | Customer has not had service in an extended period |
| New | Recently added customer with no service history |
Lead Sources
Type a lead source name and press Enter or click Add to include it. Remove a source by clicking its badge. This lets you target customers who came from specific channels (Google, referrals, Angi, etc.).
Zip Codes / Service Area
Add specific ZIP codes to restrict the audience geographically. Type a ZIP code and press Enter or click Add.
Client Tags
Add custom tags you have applied to clients. A set of suggested tags is displayed for quick selection: VIP, Commercial, Fleet, Property Manager, Repeat Client, Referral Source, Maintenance Plan, HOA, and several more.
Estimate Status
Filter by the status of customer estimates: sent, viewed, accepted, declined, or expired. Combine with a Proposal lookback days value to limit to recent proposals.
Scheduling
For one-time and triggered campaigns, you choose when to send:
- Send Now -- the campaign is delivered immediately when you click Send Now.
- Schedule -- select a future date and time. The campaign is queued and sent automatically at the scheduled time.
Drip campaigns do not use the schedule selector. Instead, they send automatically based on the delay configured on each step.
Email Template Editor
The email editor provides a subject line field and an HTML body field. You write templates using standard HTML and merge fields.
Merge Fields
Click any merge field badge above the editor to insert it at the cursor position. Available merge fields:
| Merge Field | Inserts | Example |
|---|---|---|
{{first_name}} | Customer's first name | John |
{{company}} | Your business name | Rolling Suds |
{{last_service_date}} | Date of the customer's most recent service | 01/15/2026 |
{{promo_code}} | An attached promotional code | SPRING25 |
CTA Button
Click the + CTA Button link to insert a pre-styled call-to-action button into your email body. The button renders as a blue, rounded link that works across major email clients. Edit the button text and URL in the HTML after inserting it.
Preview Mode
Click Preview in the template editor header to toggle between edit and preview modes. Preview mode renders the HTML and replaces all merge fields with sample data so you can see exactly what customers will receive.
SMS Composer
The SMS composer provides a single text field for your message. Key features:
- Character counter -- displays current character count out of the 160-character single-segment limit.
- Segment indicator -- if your message exceeds 160 characters, a badge shows the number of SMS segments. Multi-segment messages use 153 characters per segment and cost more.
- Merge fields -- the same merge field badges are available. Click to insert at the end of your message.
- Live preview -- a preview box below the editor shows the message with merge fields replaced by sample data.
Keep SMS messages short and focused on a single action: reply, call, or click a link.
Drip Sequences
When you select the Drip campaign type, the single template editors are replaced by the drip sequence builder. A drip sequence sends multiple messages over time, with configurable delays and optional conditions between steps.
Visual Timeline
A visual timeline at the top of the builder shows all steps as colored pills (blue for email, green for SMS) connected by lines with delay indicators. This gives you an at-a-glance view of the full customer journey.
Adding and Configuring Steps
- Click + Add Step to add a new step to the sequence.
- For each step, configure:
| Setting | Options |
|---|---|
| Channel | Email or SMS |
| Delay from previous | 1, 3, 7, 14, or 30 days (preset buttons), or enter a custom number |
| Condition (steps 2+) | Always send, If opened previous, If NOT opened previous, If clicked previous, If NOT clicked previous |
| Subject (email only) | The email subject line |
| Body | The email HTML body or SMS text |
- Reorder steps using the up/down arrows on each step card.
- Remove a step by clicking Remove.
Conditional Logic
Starting from step 2, you can add conditions that determine whether a step sends based on the recipient's interaction with the previous step:
- Always send -- the step sends regardless of previous engagement.
- If opened previous -- only sends to recipients who opened the previous email.
- If NOT opened previous -- only sends to recipients who did not open the previous email. Useful for re-sending with a different subject line.
- If clicked previous -- only sends to recipients who clicked a link in the previous email.
- If NOT clicked previous -- only sends to recipients who did not click.
This lets you build branching sequences that adapt to customer behavior.
Example Drip Sequence
A typical declined-proposal win-back sequence:
| Step | Day | Channel | Condition | Purpose |
|---|---|---|---|---|
| 1 | Day 7 | -- | Initial follow-up asking if they have questions | |
| 2 | Day 14 | SMS | Always send | Short reminder to revisit their estimate |
| 3 | Day 30 | If NOT opened step 1 | Final message with a different subject line |
Win-Back Templates
CE Pro includes four pre-built win-back templates for common re-engagement scenarios. Access them from the Marketing page.
Available Templates
| Template | Trigger | Description |
|---|---|---|
| We Miss You! | No service in 90 days | Re-engage dormant customers with a friendly check-in |
| Seasonal Reminder | Seasonal reminder | Remind existing customers that spring or fall cleaning season has arrived |
| Declined Proposal Follow-Up | Declined proposals | A 3-step drip sequence (7/14/30 days) for customers who declined or let proposals expire |
| Referral Request | Post-service referral | Ask satisfied customers to refer friends after a recent service |
Using a Template
- On the Marketing page, scroll to the Win-Back Templates section.
- Click Preview on any template to expand it and see the email subject, SMS text, and drip steps (if applicable).
- Click Activate to create a new campaign from the template.
- The system creates a draft campaign with the template's audience filter, channel settings, and message content pre-filled.
- You are redirected to the campaign editor where you can customize the text, adjust the audience, and send.
Each template comes with a sensible default audience. For example, the "We Miss You!" template automatically targets customers with no service in the last 90 days. Edit the audience filter if you want different criteria.
Campaign Lifecycle
Campaigns move through the following statuses:
| Status | Description | Available Actions |
|---|---|---|
| Draft | Campaign is saved but not sent. All fields are editable. | Save Draft, Send Now |
| Active | Campaign is currently sending or a drip sequence is in progress. | Pause |
| Paused | A drip sequence has been paused mid-run. No further steps are sent. | Resume |
| Completed | All messages have been sent and the campaign is finished. | View stats |
- Pause stops a running drip campaign. Recipients who have already received messages keep them, but no further steps are sent.
- Resume restarts a paused drip campaign from where it left off.
Campaign Analytics
After a campaign is sent, the detail page displays a performance dashboard with these metrics:
| Metric | Description | Good Benchmark |
|---|---|---|
| Messages Sent | Total messages delivered across all channels | -- |
| Open Rate | Percentage of email recipients who opened the message | Above 20% (highlighted green) |
| Click Rate | Percentage of recipients who clicked a link in the message | Above 5% (highlighted green) |
| Conversions | Number of recipients who booked a service after receiving the campaign | Any conversion is highlighted green |
| Conversion Rate | Percentage of recipients who converted to a booked job | Above 2% (highlighted green) |
| Total Queued | Total messages queued for delivery (shown for in-progress campaigns) | -- |
Interpreting Results
- Low open rate (below 20%) -- your subject line is not compelling enough, or your messages are landing in spam. Try a more specific, benefit-driven subject line.
- Good open rate but low click rate (below 5%) -- customers are reading but not acting. Strengthen your call to action and make the next step clear.
- Good clicks but low conversions -- the landing experience may need improvement, or the offer is not strong enough to close the deal.
Sending a Test
Before sending a campaign to your full audience:
- Save the campaign as a draft.
- Use the Preview toggle in the email template editor to verify merge fields render correctly.
- For SMS, check the character count and preview to confirm the message reads well.
- When ready, click Send Now. The system displays a confirmation dialog with the audience count before proceeding.
- After sending, a success message shows how many messages were sent and how many failed.
Best Practices
- Segment your audience. A targeted message to 50 relevant clients outperforms a generic blast to 500. Use the audience builder filters to narrow your reach.
- Test before you send. Always preview your messages with sample data and verify merge fields render correctly.
- Do not over-message. Limit campaigns to one or two per month per customer to avoid unsubscribes.
- Use drip sequences for follow-ups. A three-step sequence with escalating urgency converts better than a single message.
- Add conditions to drip steps. Send different follow-ups to openers versus non-openers to maximize relevance.
- Track conversions, not just opens. The real measure of a campaign is booked jobs, not vanity metrics.
- Respect opt-outs. CE Pro automatically excludes unsubscribed customers from future campaigns.
- Keep SMS under 160 characters. Single-segment messages are cheaper and have higher read rates than multi-segment messages.
- Write benefit-driven subject lines. Tell customers what they gain, not what you are selling.
- Start with win-back templates. If you are new to marketing campaigns, activate a pre-built template and customize it rather than starting from scratch.
Was this article helpful?
Still need help? Contact support