Email Marketing & Campaigns
Build, send, and track targeted email campaigns to your WiFi guests. CaptiFi includes a complete email marketing suite with a step-by-step campaign wizard, drag-and-drop template builder, audience segmentation, scheduling, and full analytics.
Overview
CaptiFi's email marketing system includes:
- Campaign Wizard — A 5-step guided workflow to create and send campaigns
- Email Templates — Pre-built and custom templates with a visual drag-and-drop editor (visual)
- Audience Segments — Target guests by visit behaviour (new, returning, inactive, custom)
- Scheduling — Send immediately or schedule for a future date and time
- Campaign Analytics — Track opens, clicks, bounces, and unsubscribes per campaign
- Email Audit Dashboard — Full log of every email sent, with per-recipient delivery status
- Email Setup — Configure sender details, reply-to address, test emails, and auto-reply settings
Campaign Wizard
The Campaign Wizard is CaptiFi's step-by-step campaign builder. It walks you through everything from choosing a template to reviewing and sending.
Navigate to Marketing → Campaign Wizard to begin.
Step 1 — Choose Template
Select the email template for your campaign.
What you see:
- A grid of email templates, each showing:
- Preview thumbnail image
- Template name
- Short description
- Category badge (colour-coded)
- A category filter bar at the top to narrow results
Template categories:
| Category | Badge | Purpose |
|---|---|---|
| All | — | Shows every available template (default view) |
| Welcome | welcome | Greet new guests after their first WiFi login |
| Review Request | review_request | Ask guests to leave a Google/TripAdvisor review |
| Promotional | promotional | Offers, discounts, and deals |
| Newsletter | newsletter | Regular updates, news, and announcements |
| Seasonal | seasonal | Holiday and seasonal promotions (Christmas, Valentine's, etc.) |
| Custom | custom | Your own templates created from scratch |
How to use:
- Click a category tab to filter templates (or leave on "All")
- Browse the template grid — hover over a template to see its preview
- Click Preview to open a full-size preview of the template
- Click Select on the template you want to use
- You are taken to Step 2
Tip: If none of the pre-built templates suit your needs, choose a blank template from the Custom category, or create a new template first under Marketing → Email Templates.
Step 2 — Edit Content
Customise the email content using the visual editor.
Fields on this step:
| Field | Description |
|---|---|
| Subject Line | The email subject your recipients will see in their inbox. Supports template variables (see below). |
| HTML Content (Visual Editor) | A full drag-and-drop visual editor for building the email body visually. |
| Plain Text Version | Auto-generated from the HTML content. Used as a fallback for email clients that don't support HTML. |
Visual Editor features:
The visual editor is a full drag-and-drop email builder. You can:
- Drag blocks onto the canvas: text, image, button, divider, spacer, columns, social links
- Edit text inline — click on any text block to type directly
- Style elements — change fonts, colours, padding, margins, backgrounds, and borders
- Insert images — upload images or paste image URLs
- Add buttons — configure button text, URL, colour, and border radius
- Create columns — build multi-column layouts (2-column, 3-column, etc.)
- Mobile preview — toggle between desktop and mobile preview modes
- Undo/Redo — full undo/redo history
- Source code — switch to HTML source view for advanced edits
Template Variables:
Use these variables in both the subject line and the email body. They are automatically replaced with real data when the email is sent.
| Variable | Replaced With | Example Output |
|---|---|---|
| The guest's first name | "Sarah" |
| Your business/company name | "Bella Vista Hospitality" |
| The specific venue/site name | "Bella Vista Café — High Street" |
| Your configured review page URL (Google, TripAdvisor, etc.) | "https://g.page/bellavista/review" |
| Auto-generated one-click unsubscribe link (required for compliance) | "https://app.captifi.io/unsubscribe/abc123" |
Example subject line:
Hi {{first_name}}, thanks for visiting {{venue_name}}! 🎉Becomes:
Hi Sarah, thanks for visiting Bella Vista Café — High Street! 🎉Important: Always include
somewhere in your email body (usually in the footer). This is required for email compliance and is automatically included in all pre-built templates.
Step 3 — Select Recipients
Choose who receives your campaign.
Audience Segments:
| Segment | Definition | Use Case |
|---|---|---|
| All Opted-In Guests | Every guest who has opted in to marketing emails | General announcements, newsletters |
| New Guests | Guests whose first visit was within the last 30 days | Welcome offers, first-time discounts |
| Returning Guests | Guests with 2 or more visits | Loyalty rewards, VIP offers |
| Inactive Guests | Guests who haven't visited in 60+ days | Win-back campaigns, re-engagement offers |
| Custom Segment | A segment you've defined with custom rules | Targeted campaigns for specific audiences |
What you see on this step:
- A list of audience segments with radio buttons to select one
- A recipient count displayed for each segment (e.g., "1,247 recipients")
- An optional site filter dropdown — filter recipients to a specific venue/site
How to use:
- Select an audience segment by clicking its radio button
- (Optional) Use the site filter to narrow recipients to a specific venue
- Review the recipient count — this updates dynamically as you change selections
- Click Next to proceed to scheduling
Tip: For multi-venue businesses, use the site filter to send venue-specific promotions. For example, send a "Happy Hour" email only to guests who visited your bar location.
Step 4 — Schedule
Choose when your campaign is sent.
Options:
| Option | Description |
|---|---|
| Send Now | The campaign is queued for immediate delivery |
| Schedule for Later | Choose a specific date and time for delivery |
Schedule for Later fields:
| Field | Description |
|---|---|
| Date | Pick the send date using the date picker |
| Time | Pick the send time using the time picker |
| Timezone | Displayed for reference — uses your account timezone setting |
How to use:
- Choose Send Now or Schedule for Later
- If scheduling, pick the date and time
- Confirm the timezone shown is correct (change it in your account settings if needed)
- Click Next to proceed to the review step
Best practice: Schedule emails for optimal engagement windows: 10am–2pm on weekdays or 10am–12pm on weekends. Avoid early mornings and late evenings.
Step 5 — Review & Send
Review your entire campaign before sending.
Summary displayed:
| Item | What's Shown |
|---|---|
| Template | The name and preview of the selected template |
| Subject Line | The email subject (with variables shown as placeholders) |
| Recipient Count | Total number of recipients (e.g., "Sending to 1,247 opted-in guests") |
| Schedule | "Sending now" or "Scheduled for 15 Jan 2025 at 10:00 AM GMT" |
How to use:
- Review every item in the summary
- Click Back on any step to make changes
- When satisfied, click Confirm & Send (or Confirm & Schedule)
- The campaign is created with status Sending (or Scheduled)
Note: Once a campaign is confirmed and sending, it cannot be undone. Scheduled campaigns can be cancelled before their send time.
Email Templates
Manage your library of reusable email templates under Marketing → Email Templates.
Template List
The templates table displays:
| Column | Description |
|---|---|
| Name | Template name (e.g., "Welcome — Coffee Shop") |
| Category | Category badge: welcome, review_request, promotional, newsletter, seasonal, custom |
| Subject | Default subject line for this template |
| Usage Count | Number of campaigns that have used this template |
| Active | Toggle switch — active templates appear in the Campaign Wizard; inactive ones are hidden |
| Created At | Date the template was created |
Template Actions
| Action | Description |
|---|---|
| Edit | Open the template in the editor to modify content, subject, or settings |
| Duplicate | Create a copy of the template (useful for creating variations) |
| Delete | Permanently remove the template (requires confirmation) |
| Preview | Open a full-size preview of the template as it would appear in an inbox |
Creating / Editing a Template
Click Create Email Template or Edit on an existing template. The form includes:
| Field | Type | Description |
|---|---|---|
| Name | Text | The template name (displayed in the template grid) |
| Slug | Text (auto-generated) | URL-friendly identifier, auto-generated from the name. Can be manually overridden. |
| Category | Select dropdown | Choose from: welcome, review_request, promotional, newsletter, seasonal, custom |
| Description | Textarea | Short description shown below the template name in the wizard grid |
| Subject | Text | Default subject line (can be overridden in the Campaign Wizard) |
| HTML Content | visual drag-and-drop builder | Full drag-and-drop email builder (same editor as the Campaign Wizard Step 2) |
| Text Content | Textarea | Plain text fallback version of the email |
| Is Active | Toggle | When ON, the template appears in the Campaign Wizard. When OFF, it's hidden. |
| Is Default | Toggle | When ON, this template is pre-selected when creating a new campaign in its category |
Tip: Use the Duplicate action to quickly create template variations. For example, duplicate your "Seasonal — Christmas" template and modify it for "Seasonal — Valentine's Day".
Marketing Campaigns
View and manage all your campaigns under Marketing → Campaigns.
Campaign List
The campaigns table displays:
| Column | Description |
|---|---|
| Name | Campaign name |
| Subject | Email subject line |
| Status | Badge showing current state (see statuses below) |
| Template | Name of the email template used |
| Total Recipients | Number of recipients the campaign was sent to |
| Sent Count | Number of emails successfully sent |
| Open Count | Number of unique opens |
| Click Count | Number of unique link clicks |
| Open Rate | Percentage of sent emails that were opened (e.g., "34.2%") |
| Click Rate | Percentage of sent emails that had a link clicked (e.g., "8.7%") |
| Scheduled At | Date/time the campaign is scheduled for (if applicable) |
| Sent At | Date/time the campaign was actually sent |
Campaign Statuses
| Status | Badge Colour | Meaning |
|---|---|---|
| Draft | Grey | Campaign created but not yet confirmed |
| Scheduled | Blue | Campaign confirmed and waiting for its scheduled send time |
| Sending | Yellow/Amber | Campaign is currently being dispatched |
| Sent | Green | Campaign has been fully sent |
| Failed | Red | Campaign encountered an error during sending |
Filtering Campaigns
- Filter by Status — Show only campaigns with a specific status (Draft, Scheduled, Sending, Sent, Failed)
- Filter by Template — Show only campaigns that use a specific template
Campaign Actions
| Action | Available When | Description |
|---|---|---|
| View Analytics | Sent | Open detailed analytics for this campaign (see Email Analytics) |
| Duplicate | Any status | Create a copy of this campaign as a new draft |
| Cancel | Scheduled only | Cancel a scheduled campaign before it sends (returns to Draft) |
Email Setup
Configure your email sending settings under the Email navigation group (sort position 95 in the sidebar).
Sender Details
These settings control how your emails appear to recipients.
| Setting | Description | Example |
|---|---|---|
| From Name | The sender name displayed in the recipient's inbox | "Bella Vista Café" |
| From Email | The email address shown as the sender. Must be a valid, verified email address. | "hello@bellavista.co.uk" |
| Reply-To Email | Where replies are directed if a recipient replies to your email | "manager@bellavista.co.uk" |
Important: The From Email is validated to ensure it's a properly formatted email address. Using a custom domain (rather than a free email like Gmail) significantly improves deliverability and reduces the chance of your emails landing in spam.
Test Email
Send a test email to preview how your emails will look before launching a campaign.
- Enter any email address in the test email field
- Click Send Test
- A test email is dispatched immediately using your current sender settings
- Use this to verify formatting, subject line, and template rendering
Best practice: Always send a test email to yourself (and a colleague) before launching a campaign. Check it on both desktop and mobile.
Auto-Reply Settings
Configure automatic email replies for incoming messages.
| Setting | Description |
|---|---|
| Enable Auto-Reply | Toggle to turn auto-reply on or off |
| Custom Message | The message text sent as an automatic reply |
When enabled, any email sent to your From Email address will receive the configured auto-reply message. This is useful for setting expectations (e.g., "Thanks for your email. We'll get back to you within 24 hours.").
Email Analytics
Access detailed performance analytics for each sent campaign.
Navigate to Email Management → Email Analytics, or click View Analytics on any sent campaign.
Campaign-Level Statistics
Each campaign displays the following metrics:
| Metric | Description | How It's Calculated |
|---|---|---|
| Sent | Total emails dispatched | Count of all send attempts |
| Delivered | Emails successfully delivered to recipient inboxes | Sent minus bounces |
| Opened | Unique recipients who opened the email | Tracked via invisible pixel |
| Clicked | Unique recipients who clicked a link in the email | Tracked via redirect URLs |
| Bounced | Emails that failed to deliver | Hard bounces (invalid address) + soft bounces (full inbox, etc.) |
| Unsubscribed | Recipients who clicked the unsubscribe link | Count of clicks |
Performance Percentages
All metrics are shown as both raw counts and percentages:
| Metric | Formula | Good Benchmark |
|---|---|---|
| Delivery Rate | (Delivered ÷ Sent) × 100 | 95%+ |
| Open Rate | (Opened ÷ Delivered) × 100 | 25–40% |
| Click Rate | (Clicked ÷ Delivered) × 100 | 5–15% |
| Bounce Rate | (Bounced ÷ Sent) × 100 | < 2% |
| Unsubscribe Rate | (Unsubscribed ÷ Delivered) × 100 | < 1% |
Note: Open tracking relies on image loading, so actual opens may be higher than reported (some email clients block images by default). Apple Mail Privacy Protection can also inflate open rates.
Email Audit Dashboard
The Email Audit Dashboard provides a complete log of every individual email sent from your account.
Navigate to Email Management → Email Audit.
Audit Table
The audit table shows one row per email sent:
| Column | Description |
|---|---|
| Recipient | The email address the message was sent to |
| Subject | The email subject line |
| Status | Delivery status badge: Delivered (green), Bounced (red), Failed (red) |
| Opened At | Timestamp of when the recipient first opened the email (blank if not opened) |
| Clicked At | Timestamp of when the recipient first clicked a link (blank if no clicks) |
Searching & Filtering
- Search — Search by recipient email address or subject line
- Filter by status — Show only Delivered, Bounced, or Failed emails
- Sort — Click column headers to sort by any field
Using the Audit Dashboard
The audit dashboard is valuable for:
- Troubleshooting delivery issues — Find bounced or failed emails and investigate
- Verifying specific sends — Confirm a particular guest received their email
- Identifying engagement — See exactly who opened and clicked
- Compliance — Maintain a full audit trail of all marketing communications
Tip: If you see a high number of bounced emails, review and clean your guest email list. Repeated sends to invalid addresses can harm your sender reputation.
Template Variables Reference
A quick reference for all available template variables:
| Variable | Where to Use | Description |
|---|---|---|
| Subject line, email body | Guest's first name. Falls back to "there" if not available (e.g., "Hi there"). |
| Email body, footer | Your business or company name as configured in account settings. |
| Subject line, email body | The specific venue/site name the guest visited. Useful for multi-venue businesses. |
| Email body (buttons/links) | Your review platform URL (Google, TripAdvisor, etc.) as configured in review settings. |
| Email body (footer) | One-click unsubscribe link. Must be included in every marketing email. Auto-generated per recipient. |
Email Campaign Types & Examples
Welcome Email Campaign
Goal: Thank new guests and encourage a return visit.
| Setting | Recommended Value |
|---|---|
| Template | Welcome category |
| Segment | New Guests (first visit in last 30 days) |
| Subject | Welcome to , ! 🎉 |
| Content | Thank you message, venue highlights, special offer for next visit |
| Schedule | Send within 1–2 hours of capture (or next morning at 10am) |
Review Request Campaign
Goal: Collect online reviews from happy guests.
| Setting | Recommended Value |
|---|---|
| Template | Review Request category |
| Segment | Returning Guests (2+ visits) |
| Subject | , how was your visit to ? |
| Content | Short ask, one clear CTA button linking to |
| Schedule | 2–4 hours after visit, or next day at 10am |
Win-Back Campaign
Goal: Re-engage guests who haven't visited recently.
| Setting | Recommended Value |
|---|---|
| Template | Promotional category |
| Segment | Inactive Guests (no visit 60+ days) |
| Subject | We miss you, ! Here's 20% off your next visit |
| Content | "It's been a while" message, incentive offer, clear CTA |
| Schedule | Schedule for Tuesday or Wednesday at 10am |
Newsletter Campaign
Goal: Keep guests informed and engaged with regular updates.
| Setting | Recommended Value |
|---|---|
| Template | Newsletter category |
| Segment | All Opted-In Guests |
| Subject | — What's happening this month 📰 |
| Content | News, events, menu updates, behind-the-scenes content |
| Schedule | Monthly, first Tuesday at 10am |
Seasonal Promotion Campaign
Goal: Drive visits during holidays and seasonal events.
| Setting | Recommended Value |
|---|---|
| Template | Seasonal category |
| Segment | All Opted-In Guests |
| Subject | 🎄 Christmas at — Book your table now! |
| Content | Seasonal imagery, event details, booking CTA |
| Schedule | 2–4 weeks before the event/holiday |
Best Practices
Content & Design
- One CTA per email — Focus on a single action (review, visit, book, buy)
- Keep it short — 50–100 words body text maximum; people scan, not read
- Mobile-first design — 70%+ of guests read email on their phone
- Use template variables — Personalise with
and - Include an unsubscribe link — Always include
(required by law) - Test before sending — Send a test email from Email Setup and check on mobile + desktop
Audience & Targeting
- Segment your audience — Don't send the same email to everyone
- Use the site filter — For multi-venue businesses, keep campaigns venue-specific
- Don't over-email — 1–2 emails per month is ideal; more than weekly causes unsubscribes
- Target returning guests for reviews — They're more likely to leave positive reviews
Timing & Scheduling
- Optimal send times — 10am–2pm on weekdays, 10am–12pm on weekends
- Avoid Mondays and Fridays — Tuesday, Wednesday, and Thursday have the highest open rates
- Schedule seasonal campaigns early — Send 2–4 weeks before holidays
- Use "Send Now" sparingly — Scheduled sends ensure optimal timing
Analytics & Optimisation
- Monitor open rates — If below 20%, improve your subject lines
- Monitor click rates — If below 3%, improve your CTA placement and copy
- Watch bounce rates — If above 2%, clean your email list
- Watch unsubscribe rates — If above 1%, you're emailing too frequently or irrelevantly
- Compare campaigns — Use the campaigns table to spot trends over time
Troubleshooting
| Issue | Cause | Solution |
|---|---|---|
| Emails going to spam | Free email domain (Gmail, Yahoo) as sender | Set up a custom domain for your From Email in Email Setup |
| Low open rates | Poor subject lines or bad send timing | A/B test subject lines; schedule for 10am–2pm weekdays |
| Low click rates | Unclear CTA or too many links | Use one prominent button with clear action text |
| High bounce rate | Invalid or old email addresses | Review bounced emails in the Email Audit dashboard; clean your list |
| High unsubscribe rate | Emailing too frequently or irrelevant content | Reduce frequency; improve segmentation |
| Template variables not replacing | Typo in variable name | Ensure exact syntax: (double curly braces, lowercase, underscores) |
| Campaign stuck on "Sending" | Email queue processing delay | Wait 15 minutes; if still stuck, contact support |
| Scheduled campaign didn't send | Incorrect timezone setting | Check your account timezone in settings matches your intended send time |
| Can't find template in wizard | Template is set to inactive | Go to Email Templates and toggle the Active switch to ON |
| visual editor not loading | Browser compatibility issue | Use Chrome, Firefox, or Edge. Clear browser cache and disable ad blockers. |
| Test email not received | Check spam folder or invalid From Email | Check spam/junk folder; verify From Email is valid in Email Setup |
| "Failed" campaign status | Email provider error or configuration issue | Check Email Setup sender details; review error in Email Audit dashboard |