MeshX Create
Today's Focus: List 3 new items today to grow faster.
MeshX
MeshXStorefront
SF Guide 06

Bulk Email Marketing.

Bring your own Resend or AWS SES account, import your customer list (or pull from your storefront), and send throttled bulk campaigns straight from MeshX.

Storefront

Storefront is included with Inner Circle and Enterprise plans (plus admin/staff) โ€” your own branded shop at yourname.shop.meshx.uk or a custom domain, with Stripe checkout and digital delivery built in. Open Storefront โ†’

Bring your own provider
MeshX does not send the emails โ€” you connect your own Resend or AWS SES account. You pay your provider directly; MeshX provides the UI, audience, throttling, suppression, and analytics on top.
01Setup

Connect a sending provider

Go to Storefront โ†’ Marketing โ†’ Email โ†’ Setup. Pick a provider:

ProviderWhat you pasteSetup time
ResendResend API key (starts re_)~1 minute
AWS SESAccess Key ID + Secret Access Key + region~30 minutes (verification + production access)

You also set From address, From name, and Reply-to on the same page. MeshX generates a webhook URL per provider โ€” paste this into Resend/SES so opens, clicks, bounces, and complaints flow back into MeshX.

Verify your domain
Both providers require domain verification (SPF / DKIM DNS records) before they'll send. Resend walks you through it; for SES, you also need to request out of the sandbox before you can email arbitrary recipients.
02Audience

Build your audience

Every campaign sends to one of two audience pools:

  • Storefront customers โ€” anyone who opted in at checkout or via your newsletter signup on the storefront. These are auto-captured with consent timestamps.
  • Imported audience โ€” a CSV you upload. Go to Marketing โ†’ Audience โ†’ Import.

Import sources

When importing, tag the source so you can audit your lists later. Built-in source tags include:

  • etsy_export โ€” emails from your Etsy buyer-export CSV
  • amazon_export โ€” emails from Amazon reports
  • direct โ€” anything else (Instagram DMs, WhatsApp, market stalls, etc.)
GDPR / PECR
You are responsible for the lawful basis of every address you import. MeshX runs a 7-day frequency cap and one-click unsubscribe automatically, but it will not pre-validate consent. Keep proof of opt-in for every imported row.
03Create

Create a campaign

Go to Marketing โ†’ Email โ†’ New campaign. Fields:

FieldDetails
Subject lineWhat the customer sees in their inbox. Keep it under 60 characters.
AudienceStorefront customers, or one of your imported lists.
HTML bodyRaw HTML textarea โ€” paste any HTML email template you like. Supports the template variables below.
Throttle (hours)Spread the send over 1โ€“168 hours. The cron divides your audience by throttle to compute a per-tick batch size.

Template variables

These are substituted per-recipient at send time:

  • {{first_name}} โ€” customer's first name (falls back to "there" if unknown)
  • {{email}} โ€” recipient address
  • {{unsubscribe_url}} โ€” one-click unsubscribe link (required by law โ€” include it in every campaign)
Tip
Send yourself a test by saving the campaign as a draft and using your own email as a single-row imported audience first. MeshX doesn't have a "send test" button yet โ€” a one-row audience is the equivalent.
04Send

How sending works

When you hit Send now, MeshX queues the campaign. A cron job (/api/cron/marketing/send) runs every 5 minutes and picks up pending sends:

  • The cron divides your audience by your throttle to compute a per-tick batch (hard ceiling: 5,000 emails per tick)
  • Each row is delivered through your connected provider (Resend or SES)
  • The 7-day frequency cap suppresses anyone who's already received an email from your tenant in the last week
  • Unsubscribed addresses are skipped automatically
  • Send results (success / error) are recorded per recipient for analytics
Why throttle?
A high throttle (e.g. 24h) helps with deliverability โ€” ISPs flag huge sudden volumes as spam. For a list of 5,000+ first-touch addresses, set throttle to 12โ€“24h. For a small list of warm openers, 1h is fine.
05Stats

Campaign analytics

Each campaign card on the Marketing โ†’ Email dashboard shows live counts, driven by provider webhooks:

  • Recipients โ€” total addresses targeted
  • Delivered โ€” accepted by the recipient's mail server
  • Opens โ€” unique opens (tracking pixel; some clients block this)
  • Clicks โ€” unique link clicks
  • Failed โ€” bounces or provider errors (auto-suppressed from future sends)
  • Unsubscribes โ€” clicks on the {{unsubscribe_url}} link

Open a campaign to drill into a per-recipient log of who got it, who opened, and who clicked.

Tip
Open rates above 30% are excellent for e-commerce. If yours are below 15%, try shorter subject lines, send at different times, or segment your list to target active buyers.