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 Edit → Drag & 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
| Block | What it is |
|---|---|
| Title | H1-style heading, display font |
| Text | Paragraph, rich text |
| Header | Top banner with logo + links |
| Footer | Legal footer with unsubscribe link (required) |
| Button | CTA button with link |
| Image | Image with alt text and optional link |
| Logo | Your brand mark, centered |
| Divider | Horizontal rule |
| Spacer | Vertical whitespace |
| Video | Thumbnail + play overlay linking to a video |
| Columns | 2- or 3-column layout container |
| Social | Your social icons (Twitter, LinkedIn, etc.) |
| HTML | Raw 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)
- Create a campaign.
- In the settings, flip A/B test on.
- 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).
- 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:
- Go to Settings → Email → Domains → Add domain.
- Enter your domain (e.g.,
mail.example.com— we recommend a subdomain, not your apex). - 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.
- Add the records to your DNS registrar (Cloudflare, Namecheap, Route 53, etc.).
- Back in FunnelFizz, click Verify. We poll DNS and mark the domain verified when all records resolve.
- 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_openedevent. - Clicks — every link is rewritten to go through
funnelfizz.com/r/<token>which redirects and logs anemail_clickedevent. - 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
| FREE | HOBBY | PRO | |
|---|---|---|---|
| Campaigns | — | Unlimited | Unlimited |
| Emails/month | — | 3,000 | 20,000 |
| A/B testing | — | — | Yes |
| Custom domain | — | — | Yes |
| Automations/stage | — | 1 | 5 |
| Max automation depth | — | 3 steps | 5 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.