Skip to main content

Email

The native email engine. No Mailchimp, no HubSpot, no third-party integration — FunnelFizz composes, renders, sends, and tracks everything in-house (using Resend as the delivery layer under the hood).

For conceptual background, start with Concepts → Email. This page is the complete feature reference.

What you can do

  • Drag-and-drop MJML editor — 13 block types, all mobile-responsive out of the box.
  • Dynamic recipient lists — target by funnel stage, split branch, or subscription status.
  • A/B testing (PRO) — split audience, auto-pick winner by open or click rate.
  • Scheduled sends — queue for future delivery.
  • Custom sending domain (PRO) — verify your own domain with SPF + DKIM + DMARC.
  • Open & click tracking — pixel + URL rewriting, on by default.
  • Automatic suppression — hard bounces and unsubscribes never get emailed again.
  • Automations — see Features → Automation for the DAG editor.

The editor

Open a campaign, click EditDrag & drop. You see three panels:

┌──────────┬─────────────────────────┬────────────┐
│ Blocks │ Canvas │ Settings │
│ │ │ │
│ header │ (Your email preview) │ font, size │
│ text │ │ padding, │
│ button │ │ color, │
│ image │ │ alignment │
│ ... │ │ │
└──────────┴─────────────────────────┴────────────┘

Drag blocks from the left, drop them on the canvas, tune settings on the right. Undo / redo work. Mobile preview toggle shows what it'll look like on phones.

Block types

BlockWhat it is
TitleH1-style heading, display font
TextParagraph, rich text
HeaderTop banner with logo + links
FooterLegal footer with unsubscribe link (required)
ButtonCTA button with link
ImageImage with alt text and optional link
LogoYour brand mark, centered
DividerHorizontal rule
SpacerVertical whitespace
VideoThumbnail + play overlay linking to a video
Columns2- or 3-column layout container
SocialYour social icons (Twitter, LinkedIn, etc.)
HTMLRaw HTML passthrough (advanced)

All blocks render via MJML → inlined CSS HTML. Tested across Gmail, Outlook, Apple Mail, Yahoo, and the major clients.

Composition modes

  • Drag & drop — default, most people use this.
  • HTML — paste raw HTML if you want total control or have a pre-built template.
  • Plain text — minimal, deliverable-friendly.
  • Template — start from a library of prebuilt templates (welcome, feedback, churn).

Recipient selection

When you create a campaign, you pick a recipient group:

  • Stage-based — everyone currently in a specific stage of a funnel.
    • e.g., "all TRIAL users in Main Funnel"
    • e.g., "all CUSTOMER users in Main Funnel where subscription = active"
  • Split-filtered — a specific track within a split funnel.
    • e.g., "all TRIAL users who came from UTM source = reddit"
  • Churn-targeted — the Churned slice of CUSTOMER stage.
    • e.g., "everyone who was a paying customer but doesn't have an active sub anymore"

The list re-evaluates at send time, not at draft time. If someone moves between stages between drafting and sending, they're automatically included/excluded correctly.

A/B testing (PRO)

  1. Create a campaign.
  2. In the settings, flip A/B test on.
  3. Configure:
    • Variant A content.
    • Variant B content.
    • Test audience % — how much of the list goes to A/B before winner is declared (typical: 20%).
    • Winner criterion — open rate or click rate.
    • Test duration — how long before picking the winner (typical: 4 hours).
  4. Schedule.

At send time:

  • FunnelFizz randomly assigns each test-audience recipient to A or B (deterministic by recipient hash so re-runs are stable).
  • After the test duration, the cron compares variant stats and picks the winner.
  • The remaining audience gets the winning variant.

You can watch the test in progress from the campaign dashboard.

Scheduled sends

Set a send time in the future. The scheduled-campaigns cron runs every minute, picks up campaigns past their scheduledAt, and enqueues sends to the recipient list.

You can cancel a scheduled campaign up until the cron fires. After that, the sends are in the queue and will go out.

Custom sending domain

By default on HOBBY, emails send from funnelfizz.com. That's fine for small volume but corporate mail servers sometimes throttle traffic from shared sender domains.

On PRO, verify your own:

  1. Go to Settings → Email → Domains → Add domain.
  2. Enter your domain (e.g., mail.example.com — we recommend a subdomain, not your apex).
  3. FunnelFizz shows you three DNS records:
    • MX for the subdomain pointing to Resend.
    • TXT (SPF) — adds our sending servers to your authorized senders.
    • TXT (DKIM) — signing key for DKIM authentication.
    • TXT (DMARC) (optional but recommended) — your DMARC policy.
  4. Add the records to your DNS registrar (Cloudflare, Namecheap, Route 53, etc.).
  5. Back in FunnelFizz, click Verify. We poll DNS and mark the domain verified when all records resolve.
  6. Once verified, you can pick this domain as the sender for any campaign.

Full guide: Tutorials → Email drip campaign basics.

Tracking

  • Opens — a 1x1 pixel is injected into the email. When the recipient's email client loads images, we log an email_opened event.
  • Clicks — every link is rewritten to go through funnelfizz.com/r/<token> which redirects and logs an email_clicked event.
  • Both events flow into your funnel as tracking events, so you can split or automate on "who opened the day-2 email."

Opens are notoriously unreliable (Apple Mail Privacy Protection pre-loads images, inflating open rates). Use click rate for serious measurement.

Suppression lists

  • Unsubscribes — every email has a required unsubscribe link. If a recipient clicks it, they're added to the workspace-wide unsubscribe list and never receive anything else.
  • Hard bounces — bounces marked permanent (invalid email, domain doesn't exist) go on the bounce list automatically.
  • Complaints — anyone who marks you as spam goes on the list.

These lists are workspace-wide, not per-campaign or per-funnel. An unsubscribe applies forever.

Plan limits

FREEHOBBYPRO
CampaignsUnlimitedUnlimited
Emails/month3,00020,000
A/B testingYes
Custom domainYes
Automations/stage15
Max automation depth3 steps5 steps

Quotas reset the 1st of each calendar month. If you burn through your quota mid-month, new sends are queued until the next reset — or upgrade.

What's not here

  • No visual email builder for signups — FunnelFizz does outbound only. Signup forms live on your site and fire events back via the tracking script.
  • No transactional email SDK — for password-reset-style emails from your own app, use Resend directly. (FunnelFizz is for marketing email, not app email.)

Next: Automation → — the DAG engine.