Guide · ActiveCampaign → Notion
ActiveCampaign form to Notion without Zapier
ActiveCampaign is a marketing automation and CRM platform first: Website → Forms embeds grow contacts and lists inside ActiveCampaign. Teams usually keep those forms for list growth, mirror contacts into Notion with webhooks or Zapier/Make, embed an ActiveCampaign form on a Notion page, or embed a separate form that already writes contact rows to Notion. No fake metrics or testimonials.
Your five options
| Route | How it works | Cost | Catch |
|---|---|---|---|
| ActiveCampaign embedded form | In ActiveCampaign: Website → Forms → Start from scratch. Pick a style (Inline is the usual embed), set an action such as Subscribe to a list (or tag / deal / email results), then Integrate and copy Simple Embed (JavaScript; updates live) or Full Embed (inline only; static HTML+CSS). Paste into your site. New contacts land in ActiveCampaign. | Forms ship with ActiveCampaign plans (Starter+ for Inline; higher tiers unlock more styles). No Zapier bill. Confirm current plan limits on activecampaign.com/pricing. | This is list and CRM growth inside ActiveCampaign, not a free-form Notion tip-line. Submissions stay in ActiveCampaign; the embed does not create arbitrary Notion database rows by itself. |
| Paste an ActiveCampaign form into a Notion page | Publish the form (link or hosted URL from Integrate), then in Notion type /embed and paste that URL on a public page so visitors can submit into ActiveCampaign from inside Notion. | Uses your existing ActiveCampaign + Notion accounts. No Zapier. | Direction is Notion page → ActiveCampaign contacts. It does not write free-form contact-message properties into a Notion database. Notion Embed wants a URL, not raw Simple Embed script tags. |
| ActiveCampaign webhooks / API → DIY → Notion API | Settings → Developer → Manage Webhooks (or POST the webhooks API). Subscribe to events such as subscribe / update (and related). Your HTTPS receiver on port 443 parses the payload, then POSTs https://api.notion.com/v1/pages with parent.database_id. Keep ActiveCampaign and Notion secrets server-side. At-least-once delivery — design for duplicates. | Developer time; ActiveCampaign + Notion credentials. Serverless free tiers often cover low volume. No monthly Zapier task meter. | Webhooks track ActiveCampaign events (contacts, campaigns, deals, etc.), not every free-form contact-message field unless you also host a custom form. ActiveCampaign does not accept incoming webhooks. Never put secrets in page HTML. |
| Zapier or Make (ActiveCampaign → Notion) | Zapier lists ActiveCampaign triggers such as New or Updated Contact / New Contact Added to List paired with Create Notion database item. Make/n8n can watch contacts or consume ActiveCampaign webhooks the same way. | Zapier tasks or Make operations every event, on top of your ActiveCampaign plan. | Two subscriptions whose only job is moving a contact row. Best for contacts-list CRM sync — not free-form contact messages unless you embed a separate form first. Zaps fail quietly when fields rename. |
| Embed a form that writes to Notion directly | Build the form in FormToNotion and paste one iframe into a contact or “work with me” page (Carrd, Framer, Webflow, WordPress HTML block, etc.). Submissions sync to your Notion database over the official API — no Zapier hop. Honest catch: it does not create ActiveCampaign contacts. | Free inbox; live Notion sync is a one-time Pro $20 or Business $49 — no monthly form SaaS or per-task bill. | The form lives on vgt.cc inside an iframe, not as native ActiveCampaign markup. It will not grow your ActiveCampaign list or replace contact webhooks. Use ActiveCampaign embeds for list growth; use this path for CRM inquiries. |
Sources: ActiveCampaign: create a form from scratch, ActiveCampaign: publish a form, ActiveCampaign: webhooks, ActiveCampaign API: webhooks, Zapier: ActiveCampaign + Notion, Notion Create a page. Plans and third-party Notion features change — verify before buying.
Fastest path when Notion is the only inbox
- Create a FormToNotion form whose field labels match your Notion property names.
- Connect Notion (Internal Integration Secret + database id) on a paid plan so submissions sync live.
- On your contact or sponsor page (any host that allows an HTML/iframe block), paste:
<iframe
src="https://www.vgt.cc/f/your-slug"
title="Contact form"
style="width:100%;min-height:640px;border:0"
loading="lazy"></iframe>Replace your-slug with the public slug from your dashboard. Pro is a one-time $20; Business is a one-time $49. Keep ActiveCampaign embeds for list growth if you still want subscribers in ActiveCampaign.
Stay with ActiveCampaign-native paths when…
- You only need list / automation signup and the ActiveCampaign contact record is enough.
- You want subscribe / update events mirrored into Notion via webhooks or Zapier.
- You already pay for Zapier/Make and the contact→Notion pipeline is stable.
Use an embedded Notion form when…
- Notion is the CRM for tips, collabs, and ads — not the subscriber list.
- You want Notion rows without a monthly form SaaS or per-task bill.
- The same form also needs a public link outside ActiveCampaign.
Honest limits
- FormToNotion does not create ActiveCampaign contacts or import past list rows.
- ActiveCampaign embedded forms do not turn a contact form into free-form Notion messages.
- The iframe is not styled by your ActiveCampaign form theme CSS.
- No payments, file uploads, or deep conditional logic.
- Field labels must match Notion property names for a row to map correctly.
- The free plan stores submissions in the FormToNotion inbox but does not sync to Notion.
See it work first
The demo form writes to our own Notion database, so you can check the round trip before paying. 14-day refund window on paid plans.
Last updated: November 7, 2026 · Questions? maskid@live.cn