Skip to content

Marketing

Send email campaigns and newsletters, build audience segments, automate welcome and abandoned-basket emails with flows, run the sign-up popup (including the spin-to-win wheel), send push notifications, and build UTM-tagged campaign links.

Where to find it: Admin → Marketing (/admin/marketing).

The Marketing area is split into tabs along the top: Email Campaigns, Push Notifications, SMS, Audience Segments, Flows, Sign-up Popup, and URL Builder. If you use Klaviyo for email marketing, the Sign-up Popup tab is hidden and several other controls are disabled — see Using Klaviyo instead.

Text campaigns have their own page: see SMS Campaigns for sending texts, credits and opt-outs.

The wording of your automated (transactional and flow) emails is edited separately — see Email Templates.

Understand your audience numbers

The Email Campaigns Send tab opens with five stat cards:

  • Total Verified Users — customers with a verified account.
  • Opted In — verified customers who have opted in to marketing email. If people have subscribed through the sign-up popup without creating an account, an "+ N anonymous subscribers" line appears under this card — those anonymous subscribers also receive your broadcasts. An amber N not yet in your email audience line means some opted-in customers haven't been added to the list your campaigns go to, so they won't receive them yet. They are added automatically overnight, so the number should drop by the next morning. If it doesn't, ask your platform contact to run a contact sync.
  • Opted Out — the number of customers who have unsubscribed or never opted in.
  • Opt-in Rate — opted-in customers as a percentage of verified users.
  • Contact Usage — how much of your email plan's contact allowance you're using, shown as a percentage with the used/limit figures and plan name underneath. When usage gets high the percentage turns amber and an Approaching contact limit warning banner appears above the stats; consider upgrading your plan before you hit the limit, or your sends may be interrupted.

Create and send an email campaign

  1. On the Email Campaigns → Send tab, click Create Email Campaign. (The button is disabled with a "Disabled while Klaviyo is connected" note if you use Klaviyo.)
  2. Choose a Send Mode: Send Now or Schedule for Later.
  3. Choose a Campaign Type:
    • Feature Competitions — showcases up to 5 active competitions with images, prices, and direct entry links. Type in the search box to find a competition by name, then tick it; your picks sit as chips above the list, each with an × to remove it. The list shows the newest 50 to start with — search reaches everything.
    • General Message — a free-form announcement built from content blocks (see Build a General Message with content blocks).
  4. Fill in the copy fields:
    • Campaign Name (optional) — an internal label used for tracking; auto-generated if left blank.
    • Subject Line — what appears in the recipient's inbox.
    • Email Heading — the headline at the top of the email itself.
    • Preview Text (optional) — the snippet shown next to the subject in most inboxes; keep it short.
    • Introduction Text — the opening paragraph. Use {firstName} anywhere in it to personalise, e.g. "Hi {firstName}, we've got exciting new competitions for you!".
    • Footer Text (optional) — a sign-off line, e.g. "Good luck and happy entering!".
  5. Optionally pick a Target Audience segment (see Target the right people with segments). Leave it on All opted-in subscribers to send to everyone, including anonymous popup subscribers. When you pick a segment, a blue box confirms exactly how many people will receive the campaign, notes anyone who matches but has no email on file, and shows when the audience was last refreshed.
  6. Click Send Test Email, enter any address, and check the result in a real inbox before committing. The test button only enables once the form is complete.
  7. Click the submit button — it reads Send to N Subscribers (with the live recipient count) for immediate sends, or Schedule Campaign if you chose Schedule for Later. A confirmation dialog restates the recipient count or scheduled time before anything goes out.

What happens next: for immediate sends, a blue "Sending campaign…" banner shows with the recipient count while the broadcast goes out, then a success message confirms how many recipients it reached. The campaign appears on the History tab as Sending, then Sent (or Failed if something went wrong). Scheduled campaigns appear in the Scheduled list on the Send tab until they fire.

Build a General Message with content blocks

General Message campaigns are assembled from stacked content blocks instead of a single text box. Click Add Block and choose:

  • Text — a paragraph of text content.
  • Image — an image from the media library.
  • Button — a call-to-action button with a label and link.
  • Divider — a horizontal separator line.
  • Competition Cards — embed up to 5 competition cards inside a general email, chosen with the same searchable picker as Feature Competitions campaigns.
  • Two Column — an image and text side by side.

Each block has its own small editor. Use the up/down arrows on a block's header to reorder it, and the bin icon to remove it. You can add up to 20 blocks, and every block must be filled in before the campaign can be sent.

Schedule a campaign for later

Choose Schedule for Later as the Send Mode and pick a Scheduled Send Time — it must be at least 5 minutes in the future. After confirming, the campaign sits in the Scheduled list on the Send tab (and shows as Scheduled in History) until it fires automatically at that time.

Edit a scheduled campaign

You can change a scheduled campaign's content, audience, and send time right up until it fires — no need to cancel and recreate it:

  1. Find the campaign in the Scheduled list on the Send tab (or filter History to Scheduled).
  2. Click the pencil (Edit campaign) icon. The composer reopens with everything pre-filled, including the scheduled time.
  3. Make your changes and click Save changes. The new send time must still be at least 5 minutes ahead.

Edited rows show an "Edited" note under their status; hover it to see who edited the campaign and when. If the campaign sends or is cancelled while you're editing, the save is rejected and the list refreshes so you can see what happened.

Test, cancel, or clear from the queue

Scheduled rows carry extra action icons alongside View:

  • Send test email (paper aeroplane) — sends a test version of the scheduled campaign to a single inbox. The recipient field is pre-filled with your own address but you can send it to anyone.
  • Cancel campaign (cross) — stops the campaign before it fires. The confirmation dialog restates the campaign (with the subject shown separately if the campaign has its own name), the scheduled time, and the audience — a rough subscriber count, or a note that it targets a segment. Cancelled campaigns stay visible in History with a Cancelled status.
  • Clear (bin, on Failed rows only) — permanently deletes a failed campaign from the history after a confirmation. Use Redo first if you want to resend it; clearing is just tidy-up.

Resend a past campaign (Redo)

Every sent, failed, or cancelled campaign has a Redo (circular arrow) action in History and in the campaign detail panel. Redo loads the original content into the composer as a brand-new campaign — review it, adjust anything, and send or schedule as normal.

For Feature Competitions campaigns, any competitions that have since ended or been archived are automatically removed, with a warning telling you how many were dropped. Redo is disabled while a campaign is still Sending or Scheduled.

Review campaign history

Open the History tab on the Email Campaigns page to see every campaign, paginated with the newest first. Two filters sit above the table:

  • Type — All Types, Competition Feature, or General Message.
  • Status — All Statuses, Scheduled, Sending, Sent, Failed, or Cancelled.

The table columns are:

  • Campaign — the campaign name with the subject line underneath.
  • Type — Competition or General badge.
  • Status — Scheduled, Sending, Sent, Failed, or Cancelled, plus an "Edited" note where relevant.
  • Recipients — how many people were in your email audience when the campaign went out, which is the number it could actually reach. If that falls well short of the opted-in customers the campaign was meant for, the figure turns amber with "of N" beside it. Hover it to see both numbers. Campaigns sent before this figure was recorded show the opted-in count only. Scheduled rows show "All subscribers" or "Targeted" instead, since the final count isn't fixed until send time.
  • Sent — how many emails went out, with a red "/ N failed" count if any deliveries failed.
  • Engagement — the campaign's open and click rates, once engagement tracking is switched on for your site (see below). Each recipient counts once, however many times they open. Hover the figures for the underlying counts. Rows show a dash until any engagement is recorded.
  • Date — when the campaign sent, or when a scheduled campaign will fire.
  • Actions — View, plus the status-dependent actions described above (Send test, Edit, Cancel, Clear, Redo).

Click the eye (View campaign details) icon to open the full campaign: name, subject, heading, introduction, body, footer, the featured competitions as they were at send time, the Recipients / Sent / Failed counts (plus Opened and Clicked once engagement is recorded), and who sent it. A Redo Campaign button sits in the panel footer.

Open and click tracking

Campaign open and click rates need engagement tracking enabled for your site, which involves setting up a dedicated marketing sending domain — ask your platform contact if your campaigns show a dash in the Engagement column. Once live, opens are counted via a tracking pixel and clicks via link redirects, marketing emails only; order confirmations, password resets and other account emails are never tracked. Numbers keep updating for a few days after a send as recipients open the email.

A few caveats worth knowing:

  • Rates cover registered accounts only. Subscribers who joined through the popup without creating an account still receive the campaign, but their opens and clicks are not counted — the same scope as the Recipients and Sent columns, so the percentages stay like-for-like.
  • Open counts undercount. Many inboxes block tracking pixels, and a recipient who clicks without a recorded open is counted as an open too, so the click rate can never sit above the open rate.
  • Pixel-based open tracking is personal-data processing under UK GDPR. Make sure your privacy policy covers email engagement tracking before asking for it to be enabled.

Target the right people with segments

Saved audience segments let you send campaigns to a slice of your list — big spenders, lapsed players, recent winners — instead of everyone. Manage them on the Audience Segments tab (/admin/marketing/segments).

One segment works for both email and texts. You build the rule once and it can be used by the email composer and the SMS composer alike.

Segments are no longer only a marketing tool, either: you can credit a whole segment's wallets in one go from Admin → Users → Credit Wallets — see Credit a saved segment. That path deliberately ignores marketing preferences (money is not a marketing message) but always skips self-excluded customers and closed accounts.

Create a segment

  1. Click Create Segment.

  2. If you would rather describe your audience than build it, use Describe who you want to reach at the top of the panel — see Describe your audience below. Otherwise carry on from step 3.

  3. Give it a Segment Name (name it for the audience, e.g. "Active Purchasers") and an optional description.

  4. Tick one or more criteria and configure each:

    • Purchase History — has purchased / never purchased / purchased specific competitions. The list covers every competition, ended ones included, each marked Live or Ended, with a search box for finding one by name.
    • Last Activity — active in the last N days, or inactive for N days (based on orders and entries).
    • Account Age — account created in the last N days, or older than N days.
    • Campaign Engagement — has received campaigns / never received campaigns, on the channels you tick (Email, Push, SMS). Tick SMS on its own with "never received" to find customers you have never texted. A text only counts once it has left the platform, so a number that rejected the message still reads as never contacted. Segments saved before channels were selectable count email and push.
    • Spend — lifetime spend or spend in the last N days, with an optional minimum and/or maximum in pounds. Counts gross spend on completed orders; set both bounds to 0 to target customers who haven't spent.
    • Win History — has won / never won / won in the last N days, scoped to any prize, main prize only, or instant win only.
    • Entry Depth — entered at least N distinct competitions and/or bought at least N total tickets (purchased tickets only).
    • Last Login — logged in within the last N days, or hasn't logged in for N days. Distinct from Last Activity; "hasn't logged in" includes customers who have never logged in.
    • Price Tier — average ticket price in a £ range, or has entered competitions priced in a £ range.
    • Lapsing / Recovery — a win-back window: active within an outer window of days but silent for at least a smaller number of days (e.g. 60/30 = "active 30–60 days ago, nothing since"). The outer window must be larger than the silence window.
    • Interested In — bought (or never bought) competitions about a particular thing. See Target people by what they're into below.
  5. Choose how to combine criteria: AND (all must match) or OR (any can match).

  6. Optionally tick Limit how many people this reaches and set a number — see Cap how many people a segment reaches below.

  7. Click Create Segment.

As you tick and adjust criteria, the bottom of the panel counts how many people currently match, shown as Email 3,464 · SMS 1,120. It updates about half a second after you stop typing, so you can size an audience before committing to it. Nothing shows until you have switched something on — a criterion, or just the recipient cap — and a half-filled one (a blank number of days, say) simply pauses the count rather than complaining. If the count can't be worked out, it says Could not count — save anyway if you're happy with the rule; it doesn't block anything.

The two numbers are almost never the same, and neither is wrong: email and texts are separate opt-ins, and texting also needs a mobile number on file. See Why the two counts differ.

Describe your audience

At the top of the Create Segment panel there is a box headed Describe who you want to reach. Type what you want in your own words — "people who like cars and spent over £50 this year", "everyone who has never won", "lapsed buyers from the Pokemon comps" — and click Draft segment.

A plain number of people is understood too. "100 random people" gives you a segment capped at 100 and nothing else; "the first 250 people who spent over £50" gives you the spend criterion with a cap of 250, taken oldest account first.

The criteria below fill themselves in, along with a suggested name and description. A short note above them says how your words were read, for example "I read 'likes cars' as the interests vehicles and cars, and took 'this year' as the 232 days since 1 January." The count at the bottom of the panel updates like it does for any other change, so you can see the reach straight away.

It is a draft, and only a draft. Nothing is saved and nothing is sent. Read the criteria, change anything that is not what you meant, then click Create Segment exactly as you would have done building it by hand.

Anything it could not do is listed under Couldn't do, in amber. That covers things we do not track at all ("opened our last email"), interests no competition of yours has ever been about, and any criterion it filled in badly enough to be left out. Read that list: it is the part of your request that is not in the segment.

Clear draft throws it away and puts the panel back to empty. If the description could not be turned into criteria at all, you are told why and your text stays in the box so you can reword it.

To redraft an existing segment, open it for editing and click Redraft from a description. That replaces the criteria you already saved, so it takes a deliberate click.

If you do not see the box, this site does not have AI set up. Everything else on the panel works exactly the same.

Cap how many people a segment reaches

Tick Limit how many people this reaches at the bottom of the panel, put in a number, and choose how they are picked:

  • picked at random — a random slice of everyone who matches.
  • the first by sign-up date (oldest accounts first) — your longest-standing customers first.

This is what you want when you are warming a new sending domain. Mailboxes treat a brand-new domain that sends to 60,000 people on its first day as a spammer, so you send to 100, then 500, then 2,000, then the lot, over a few days.

Raise the number and nobody drops out. Going from 100 to 500 keeps the same 100 people and adds 400 more, so day two never re-mails a fresh random slice. Renaming the segment leaves the picked people alone too.

Changing a criterion is different. The cap picks from whoever matches, so narrowing or widening the rule changes the pool and therefore changes who comes out of it. Set your criteria first, then warm with the number. Switching between random and first by sign-up date also picks a different set, for the obvious reason — though switching back returns the people you had.

Two things worth knowing:

  • The cap is applied last, after every criterion above it. "Spent over £50" plus a cap of 100 is 100 of your £50+ customers, not 100 people some of whom happened to spend £50.
  • The Email contacts column can read lower than the cap. The cap chooses the people first, and only then does email ask which of them it can actually reach. A cap of 100 where two of those people have bounced shows 98 email contacts and 2 unreachable. That is the honest number, and it is why the figure does not quietly top itself back up to 100 with people the cap did not choose.

The count at the bottom of the panel already shows the capped figure, as do the Email contacts and SMS contacts columns in the table and the recipient count in both composers. The number you see is the number that gets sent.

Target people by what they're into

The other criteria describe how much somebody buys. Interested In describes what they buy — "people who go for cars", "people who go for tech" — without you listing a single competition.

Every competition is sorted into interests automatically from its prize: a photo of an Audi RS6 becomes vehicles, cars, audi, performance cars. The interests run from broad to specific on purpose, so vehicles catches every car competition you have ever run, including ones you have not run yet, while audi narrows to the one marque. Nothing about this appears on your site or on the competition form — it exists solely so this criterion can work.

To use it:

  1. Tick Interested In.
  2. Choose Bought competitions about or Never bought competitions about.
  3. Pick your interests from the list. The number beside each one is how many of your competitions it covers, so vehicles (36) is a far bigger audience than audi (5). Type in the search box to narrow a long list; anything you have already ticked stays put while you search.
  4. Choose Any of these or All of these, on one competition.
  5. Optionally narrow further with in the last N days and at least N tickets.

"Any" vs "all" is worth getting right. With vehicles and fishing ticked, Any of these finds people who buy either. All of these, on one competition finds people who bought a single competition carrying both interests — which for two unrelated interests is usually nobody. Reach for "all" when the interests belong together, like audi plus performance cars.

A few things worth knowing:

  • One ticket counts. A £2 ticket on a car competition makes someone interested in cars. The criterion asks what they buy, not how much they spend on it — pair it with Spend if you want both.
  • Prizes don't count. Tickets somebody won rather than bought are ignored, so a winner of free entries doesn't get filed as a buyer of that competition.
  • "Never bought" means within the rest of the rule. It is the opposite of "bought" among the people your other criteria already select, not everybody on your list.
  • "In the last N days" measures when they bought, not when the ticket was created, so competitions with pre-made ticket numbers behave the way you would expect.

If the card is greyed out with "Interest data isn't available on this site yet", nothing has been sorted into interests here yet. It fills in on its own over the following hours; there is nothing to switch on.

Segment statuses and counts

After you save a segment (or change its criteria), it goes through a short preparation phase while the email recipient list is built. Texts need no preparation — they are worked out fresh at the moment you send — so the status chip only ever describes email.

  • Preparing… (amber) — the list is being built. You can leave the page; it finishes in the background.
  • Ready (green) — the segment is up to date and selectable in the campaign composer. The Email contacts column shows the authoritative deliverable count.
  • Couldn't prepare (red) — the last build failed. Hover the chip for a plain-English reason. Most failures can be retried with the refresh icon, which picks up where the last attempt stopped rather than starting from scratch. If the reason says the segment was removed externally, delete the segment and recreate it.

A failed preparation only affects email. The segment still texts everyone it should.

While a segment is Preparing or failed, the Email contacts and SMS contacts columns show an estimated ~N from when the segment was last saved. A yellow "N unreachable" chip on a Ready segment means those customers match the criteria but aren't yet contactable by email — they're skipped from broadcasts.

Use the refresh icon (Refresh now) to rebuild a segment on demand — worth doing just before a time-sensitive send so the audience is current.

Why the two counts differ

The table has three count columns and they measure different things:

ColumnWhat it counts
CustomersEveryone matching the rule right now, before asking who can be contacted. The other two columns are parts of this number.
Email contactsPeople matching the rule who are set up to receive marketing emails
SMS contactsPeople matching the rule who have separately opted in to texts and have a mobile number on file

Because the two opt-ins are unrelated, the same rule can easily reach hundreds by text and a handful by email, or the reverse, and both are usually well below the Customers figure. Each composer quotes the figure for its own channel, and for SMS that figure is what you're charged for. The Customers figure is the one to look at when a segment is used for something other than a campaign, such as crediting wallets, where marketing opt-ins need not apply.

The count at the bottom of the Create and Edit Segment panels reads the same way: "114 customers · Email 4 · SMS 4".

Edit or delete a segment

Use the pencil icon to edit a segment's name, description, or criteria — changing criteria sends it back through the Preparing phase. Use the bin icon to delete a segment; a confirmation warns that this can't be undone. Deleting a segment doesn't affect campaigns that already sent to it.

Use a segment in a campaign

In the campaign composer, pick the segment from the Target Audience dropdown. Only Ready segments are selectable; preparing or failed segments appear greyed out with a status suffix so you know why. The blue confirmation box (and the send button itself) shows the segment's actual deliverable count.

Automate emails with Flows

Flows are predefined automated email sequences that fire on customer events — no manual sending required. Manage them on the Flows tab (/admin/marketing/flows). Flows are seeded by the platform; you enable them, tune the timing, and edit the copy. While Klaviyo is connected, flow toggles are disabled — build your automations in Klaviyo instead.

The list shows each flow's trigger, step count, 30-day performance (runs started, runs recovered, and revenue recovered), and an on/off toggle. Triggers include:

  • Customer's checkout timed out without completing payment (abandoned checkout).
  • Customer added tickets to their basket but did not start checkout (abandoned basket).
  • Customer opted in to marketing emails — via signup, checkout, or their account toggle (welcome series).

Enable and configure a flow

  1. Click the cog (Configure) icon on a flow to open its configuration panel.
  2. Check the Last 30 days stats at the top before changing anything: runs started, recovered (with recovery rate), revenue recovered, and emails sent (with delivered rate). A Recently recovered table lists the latest orders won back by the flow — click a row to open the order.
  3. Adjust the Trigger settings:
    • Cooldown (days) — the same customer can't enter the flow again within this window.
    • Delay before first email (minutes) — abandoned-checkout flows only; a buffer so customers who immediately retry and pay never hear from the flow (default 60).
  4. Build the Email steps (up to 6 per flow). For each step:
    • Delay — minutes after the trigger delay (first step) or after the previous step. The hint under the field translates minutes into hours/days for you. 0 = sent immediately.
    • Email template — the wording of each step is edited on its template page; click Preview & edit → to open it in Email Templates.
    • Discount code (optional) — type a code to surface inside that step's email. The code itself must already exist — create and manage codes in Promo Codes.
    • Send conditionAlways send, Only if the customer has bought, or Only if the customer hasn't bought. "Bought" means a paid order placed since entering this flow, not lifetime history, checked at the moment the email is due.
  5. Flip the enable toggle at the top and click Save changes.

Steps that have sent at least once show their own line of figures — sent, delivered, and unsubscribed — so you can spot which message is driving opt-outs. Closing the panel with unsaved changes prompts you to confirm before discarding.

Branch a flow on purchase behaviour

To send different emails to buyers and non-buyers at the same point in the sequence, pair two steps: give the second a 0-minute delay so both are due at the same moment, then set one to "Only if the customer has bought" and the other to "Only if the customer hasn't bought". Each customer matches exactly one side — for example, a thank-you with a repeat-purchase code down one path and a "haven't tried us yet?" nudge with a first-order code down the other.

Capture sign-ups with the popup

The sign-up popup invites site visitors to join your marketing list. Configure it on the Sign-up Popup tab (/admin/marketing/popup). This tab is hidden while Klaviyo is connected — use Klaviyo's signup forms instead; the form is also disabled with a notice if you land on the page directly.

Choose a Style:

  • Standard — a plain email opt-in card.
  • Wheel spin — a gamified spin-to-win wheel: the visitor enters their email (and optionally a first name) and spins for a discount code. The popup tells them "By spinning, you'll join our marketing list. Unsubscribe any time." — spinning is the opt-in, win or lose. Winners see the winning wedge's label on screen (for example "20% off") and are told to check their inbox — the actual discount code is delivered by email, not shown in the popup.

Settings shared by both styles

  • Popup enabled — the master toggle. When off, the popup never renders for any visitor.
  • Title and Body copy (labelled Subhead in Wheel mode).
  • Show after (seconds) — how long a visitor browses before the popup appears (0–600).
  • Re-show after (days) — how long a visitor who dismissed the popup waits before seeing it again (1–365).

Standard-only settings

  • Button label — the subscribe button text.
  • Success message — shown after a successful sign-up.

Wheel-only settings

  • Lose message — shown when a visitor lands on a no-win wedge.
  • Re-spin window (days) — how long a losing visitor must wait before spinning again. Wins are permanent — a winner can't spin again.

Set up the wheel's wedges

In Wheel mode, build the wheel from up to 12 wedges. For each wedge set:

  • Label — the text on the wedge, e.g. "20% off".
  • Weight — an integer (1–1000) controlling how likely the wedge is to be hit. The implied probability (≈ %) is shown under the field, based on the sum of all weights.
  • Promotion code — pick an existing code from the dropdown, or leave it as — No win — for a losing wedge (e.g. "Better luck next time"). You can't create codes here; set them up first in Promo Codes — there's a "Need a new code?" link right on the page.

A warning appears under any wedge whose linked code is inactive, expired, has reached its maximum uses, or has been deleted — fix the code or pick another before relying on that wedge. The popup can't be enabled in Wheel mode until at least one wedge exists, and removing the last wedge switches the popup off.

Click Save changes to publish, or Reset to reload the last saved configuration.

Send push notifications

Push notifications reach customers who have enabled browser notifications for your site. Manage them on the Push Notifications tab (/admin/marketing/push-notifications), which has its own Send and History tabs.

The Send tab opens with four stats: Active Subscriptions (devices that will receive your next broadcast), Total Sent, Delivered, and Failed.

Send or schedule a push notification

  1. Click Create Push Campaign.
  2. Choose a Send Mode: Send Now or Schedule for Later.
  3. Fill in:
    • Notification Title — the bold headline.
    • Message — the notification body text.
    • Link URL (optional) — where customers land when they click the notification.
    • Notification TypeMarketing or Competition Ending; this is the label the notification is filed under in history.
  4. If scheduling, set the Scheduled Date & Time (at least 5 minutes ahead).
  5. The panel footer confirms "Will be sent to N subscribers" — broadcasts always go to all active subscriptions; there's no per-segment targeting for push. Click Send Now or Schedule Notification.

Send Now queues the campaign and closes the panel straight away; it does not wait for every device to answer. The History tab tracks the work as Queued, Sending, Completed, or Failed. While it is sending, the processed count updates alongside successful and failed device deliveries. A completed campaign with no subscribed devices says so instead of suggesting that anyone received it. If a refresh fails, use Retry in History to check its latest progress.

Scheduled push notifications appear in the Scheduled list on the Send tab with their fire time. Click Cancel on one to stop it; the confirmation restates the title, message, scheduled time, and audience size.

Review push history and failures

The History tab lists everything sent, filterable by type (All Types / Marketing / Competition Ending). Broadcasts you sent carry a purple Broadcast badge with delivered and failed counts; if any deliveries failed, click View Failures to expand a per-recipient list of the errors recorded.

The history also includes the automatic one-to-one notifications the platform sends on your behalf — competition ending reminders, main prize wins, instant wins, and order confirmations — each with a Delivered or Failed badge. These need no action from you; they fire automatically for customers who have push enabled.

Push notification permissions

Viewing Push Notifications, including delivery history and counts, needs the marketing.read permission. Creating, scheduling, or cancelling a push campaign also needs marketing.send.

The URL Builder tab (/admin/marketing/url-builder) generates campaign URLs with UTM parameters so you can tell which ads, posts, and emails actually drive traffic and sales. The platform automatically records utm_source, utm_medium, utm_campaign, utm_term, and utm_content on visits — see Website Analytics for where the results show up.

  1. Pick a Destination: Homepage, or Specific Competition (then choose the competition from the dropdown — the link goes straight to its entry page).
  2. Fill in the UTM parameters:
    • Campaign Source (required) — where the traffic comes from, e.g. facebook, google, newsletter.
    • Campaign Medium (required) — the marketing channel, e.g. social, email, cpc, banner.
    • Campaign Name (required) — the specific campaign, e.g. summer_sale, black_friday.
    • Campaign Term (optional) — paid search keywords.
    • Campaign Content (optional) — distinguishes similar links, e.g. header_link vs sidebar_ad; useful for A/B testing.
  3. Click Generate URL. The finished link appears with a breakdown of each parameter.
  4. Click Copy URL to copy it to the clipboard, or Test URL in new tab to check it lands in the right place. Reset clears the form.

The page includes ready-made examples for common cases — Facebook paid ads, Instagram stories, email newsletters, and Google Ads — showing sensible source/medium/campaign combinations to copy.

Using Klaviyo instead

If you prefer to run email marketing from Klaviyo, connect it from Admin → Settings → Integrations. The Klaviyo tab on the Email Campaigns page shows your connection status at any time: while connected, it lists what's being synced to Klaviyo — user profiles and email preferences, order and purchase history, and competition entry events — with a Manage in Settings button; while disconnected, it summarises what Klaviyo adds (advanced analytics, automation flows, behaviour-based segmentation, template editor) with a Connect Klaviyo in Settings button.

While Klaviyo is connected, the built-in tools step aside so customers never receive duplicate emails:

  • Create Email Campaign is disabled ("Disabled while Klaviyo is connected") — run broadcasts from Klaviyo.
  • The Sign-up Popup tab disappears; sign-up forms are managed in Klaviyo.
  • Flow toggles are greyed out — build welcome and abandoned-cart automations in Klaviyo.
  • The Target Audience dropdown is hidden from the email campaign composer.

Audience Segments stays available. Your texts are still sent from here whether or not Klaviyo runs your email, so you can build, edit and refresh segments as normal and pick them in the SMS composer. Only the email side steps aside: the Email contacts column and the preparation status chip are replaced with a note that your email audience is managed in Klaviyo.

Disconnect Klaviyo in Settings and everything returns, including the email column and any popup configuration you had saved before.

Email subscribers without accounts

Saved audiences can target active email subscribers who have not created an account. In Marketing → Audience Segments, set Audience type to Email subscribers without an account, optionally apply a recipient limit, then save the segment.

This includes active popup and imported subscribers. It excludes unsubscribed and suppressed addresses, plus anyone whose email now belongs to an account. The audience refreshes immediately before an email campaign leaves, so someone who registered after the segment was saved is removed before dispatch.

These segments are email only. They do not appear in the SMS audience picker and cannot be used for push notifications or wallet credits. The segment table shows the eligible email count and separately reports contacts without a Resend contact ID as unreachable.

Troubleshooting

A campaign shows Failed, or some recipients failed. Open the campaign with the View icon to see the Recipients / Sent / Failed split. Under Recipients, the smaller line shows how many people were in your email audience at send time. Use Redo to load the content into the composer and resend, and Clear (bin icon on Failed rows) to delete the dead row once you're done with it.

A send fails with "Only N of the M expected recipients are in the Resend audience". Your email audience holds fewer than half the people the campaign was meant for, so it was stopped and nothing was sent. This usually follows a switch from another email tool, when opted-in customers haven't been copied across yet. The overnight sync adds them, so try again the next day with Redo, or ask your platform contact to run a contact sync now. The campaign stays in History as Failed.

Recipients on a sent campaign is amber. The campaign reached fewer people than had opted in, because some of them weren't in your email audience yet. Check the Send tab for a "not yet in your email audience" line. Those customers are added overnight and will receive your next campaign.

A segment is greyed out in the Target Audience dropdown. Only Ready segments can be selected. The suffix tells you why — "Preparing…" resolves itself shortly; "Couldn't prepare" needs attention on the Audience Segments tab.

A segment says "Couldn't prepare". Hover the red chip for the reason. Most failures (rate limits, timeouts) are fixed by clicking the refresh icon to retry, and the retry resumes from where the last attempt stopped rather than rebuilding from scratch. If the reason says the segment was removed externally, delete the segment and recreate it — refresh won't help. Either way this only affects email; the segment still works for texts.

The Email and SMS counts for a segment don't match. Expected, and neither is wrong — see Why the two counts differ.

A segment shows "N unreachable". Those customers match your criteria but aren't yet contactable by email, so they're skipped from broadcasts. The number usually falls as background syncs catch up.

I changed the popup but nothing happens on the site. Check, in order: is Klaviyo connected (the popup never renders and the form shows a notice)? Is the Popup enabled toggle on? In Wheel mode, is there at least one wedge? Remember the Show after delay, and that a visitor who recently dismissed the popup won't see it again until the Re-show after window passes — test in a private browsing window.

A wheel wedge shows a code warning. The linked promotion code is inactive, expired, out of uses, or deleted. Fix it in Promo Codes or point the wedge at a different code.

A scheduled campaign needs changing. Don't cancel and rebuild — click the pencil icon on the scheduled row to edit content, audience, and send time in one go.

Push deliveries are failing. Expand View Failures on the broadcast in push history to see the error recorded against each recipient. The Active Subscriptions stat on the Send tab shows how many devices can currently be reached, so compare it against the delivered count to gauge overall health.

A customer says they aren't getting marketing emails. They may have opted out (they count in the Opted Out stat) — customers can rejoin from their account settings or your sign-up popup. If they're opted in but still not receiving, check the email delivery logs in System Logs for bounces or suppressions.

Marketing buttons are disabled everywhere. Look for the "Disabled while Klaviyo is connected" notes — while Klaviyo is your email platform, broadcasts, segments, flows, and the popup are managed there. See Using Klaviyo instead.