Loading tutorials…
Loading tutorials…
Campaign Builder is Keap's superpower and its most-broken feature. Owners drag sequences onto the canvas, wire goals incorrectly, forget exit rules, and end up with contacts stuck in loops or skipping every email. Here is the discipline that makes Campaign Builder work.
Who this is forSolopreneurs, small-business owners, and marketing leads building their first 3-5 Keap campaigns — or anyone whose existing campaigns 'mostly work but sometimes do weird stuff.' If you have ever found a contact stuck on the same email step for 47 days, this tutorial is the unlock.
What you'll need
Step 1
Goals, Sequences, and Decision Diamonds are the only three things on the canvas. Everything you build is some combination of these three. Master them before dragging anything.
Open Keap → Marketing → Campaigns → Create a Campaign. The canvas appears with a left-side toolbox.
GOAL (purple icon): how contacts enter the campaign or move between sequences. Examples: 'Web Form Submitted,' 'Tag Applied,' 'Purchase Made,' 'Link Clicked,' 'Appointment Scheduled.' Goals are the ONLY way contacts cross from one sequence to the next.
SEQUENCE (green icon): a series of actions (Send Email, Apply Tag, Create Task, Wait Timer, etc.). Contacts move through the sequence one step at a time.
DECISION DIAMOND (orange icon): a yes/no branch based on a tag, score, or field condition. Used inside sequences to split paths.
Mental model: Goals are doors between rooms. Sequences are rooms with actions. Decision Diamonds are forks within a room. Build by sketching rooms + doors on paper first, then drag onto the canvas.
Step 2
Resist the urge to build a 12-sequence behemoth on day one. Build the smallest useful campaign first, publish it, learn from real data.
Pick one specific use case: 'Welcome new email subscribers' or 'Post-purchase thank-you series' or 'Lead-magnet delivery + 5-day nurture.'
On the canvas: drag one Goal (e.g., "Web Form Submitted" → pick the form) → drag one Sequence next to it → connect Goal to Sequence with an arrow.
Inside the Sequence: 3-5 steps maximum. Send Email 1 (immediate) → Wait Timer (2 days) → Send Email 2 → Wait Timer (3 days) → Send Email 3 → Apply Tag 'Welcome Series Complete' → End.
Save. Click Ready (top-right) to mark the campaign publishable. Click Publish.
Test it: open another browser, submit the form with a throwaway email. Watch the contact enter the campaign in real time (CRM → Contacts → search the test contact → Campaigns tab).
Step 3
Decision Diamonds split paths based on tags, scores, or custom fields. Each one adds complexity. Use them when needed; do not stack 6 in a row.
Inside a Sequence, drag a Decision Diamond between two steps. Configure: "If contact has tag X, go this way; else, go that way."
Common pattern: after a discovery call invite, branch on 'Tag: Booked Call' vs no tag. Booked Call path goes silent; non-booker path gets two more nudge emails.
Each Decision Diamond compounds testing complexity. One diamond = 2 paths to test. Three diamonds in a row = 8 paths. Test every path with a fake contact before publishing.
Better pattern for most needs: use multiple Goals (entry points) into different Sequences rather than one mega-Sequence with stacked diamonds. Goals are easier to debug than diamonds.
Document every diamond's logic in the Campaign Notes (top-right gear → Notes). Three months later, you will not remember why 'Score > 50' branches to Sequence B.
Step 4
Contacts should not be able to enroll in the same campaign 4 times. Set exit rules. Set timer maximums. Stop contacts looping.
Open the campaign → click any Goal → "Allow re-entry" setting. For most welcome / lead-magnet campaigns, set to "No" so a contact only enters once.
For nurture campaigns where re-enrollment is intentional (e.g., monthly newsletter), leave 'Allow re-entry' on but add a Wait Timer at the start (e.g., 'Wait 30 days since last entry') to prevent rapid re-enrollment.
Inside Sequences, use Wait Timers in business days (not calendar days) for B2B motions. Settings → Application Settings → Workday — set the business-day window. Calendar days send emails on Saturday at 6am; business days send Tuesday at 9am.
Every Sequence must have a clear END. Drag the Sequence End node explicitly. Sequences without an end terminator leave contacts in an undefined state forever.
Build an 'Exit Tag' for every campaign: apply a tag like 'Welcome Series - Exited' at the end. This makes audit + reporting trivial later.
Step 5
A customer who just bought should not receive the "buy this" email scheduled for tomorrow. Set global exit conditions.
In each Sequence, add a Decision Diamond near the start: "If tag 'Customer' applied, exit campaign." This stops post-purchase contacts from receiving cold nurture.
Apply 'Unsubscribed' check at the start of every Sequence too: 'If marketable status = Non-marketable, exit.' Keap mostly handles this, but explicit checks prevent edge-case sends.
For e-commerce: set up a 'Purchase Made' Goal pointing to an 'Exit All Cold-Lead Campaigns' Sequence that removes the contact from any sales-pressure campaigns.
Document the global-exit pattern in your campaign-design spec. New campaigns should inherit it; old campaigns should be audited for it.
Test the exit logic: take a test contact, walk them halfway through a nurture, then apply 'Customer' tag manually. Confirm they exit cleanly.
Step 6
Tokens like ~Contact.FirstName~ are powerful and brittle. A contact with no first name will render 'Hi ~Contact.FirstName~' if you do not set a fallback. Trust dies instantly.
In any campaign email, click the merge-field icon (or type `~`) to insert a token: `~Contact.FirstName~`, `~Contact.Company~`, `~Owner.FirstName~`, custom field tokens.
For EVERY token, set a default value: in the merge-field editor, set fallback text (e.g., First Name defaults to "there"). Renders "Hi there" when first name is missing — never "Hi ~Contact.FirstName~".
Send a test campaign to a contact with the merge fields intentionally blank. If anything renders ugly, fix the fallback or remove the token.
Avoid risky tokens: `~Contact.JobTitle~` (often blank or generic), `~Contact.Industry~` (frequently miscategorized), custom-field tokens (often empty).
Common-sense rule: use 2-3 tokens per email maximum. Past 5, the email reads like a Mad Lib and conversion drops.
Step 7
Every published campaign runs silently until you check it. Build a monitoring habit from day one.
Before publishing: run AT LEAST 3 fake contacts through the entire flow. Different tag states, different decision paths. Use a real inbox so you see what subscribers see.
Click Ready → Publish. Campaign goes live immediately.
Within 24 hours of publishing: open Marketing → Campaigns → click your campaign → Reports tab. Confirm contacts are entering, emails are sending, and progression looks right.
Set a recurring reminder: weekly campaign audit for the first 4 weeks. Look for stuck contacts (CRM → Contacts → filter by Campaign + 'In Sequence > 14 days'). Investigate any stragglers.
After 14 days: review email engagement (open rate, click rate per step) and stage-conversion data. Pause and revise any step with <10% open or <0.5% click — usually subject line or send timing.
Common mistakes
Building a 12-sequence campaign on day one
What goes wrong: You spend 3 weekends building one mega-campaign with 47 steps + 12 decision diamonds. Publish. Half the paths never fire because you forgot a tag prerequisite. Two contacts loop. You spend another weekend debugging. After 60 days, the campaign drives 11% of expected revenue. The lost opportunity cost: $2K-8K/mo depending on motion.
How to avoid: Start with one Goal + one Sequence + 3-5 steps. Publish in week one. Add complexity only after the simple version proves out.
Forgetting to set "Allow re-entry" on Goals
What goes wrong: A contact submits the form 3 times during research. They enter the welcome series 3 times. They get the same 5 emails 3 times in 2 weeks. They unsubscribe in frustration. Or worse, mark you as spam — and your sender reputation tanks.
How to avoid: For most welcome / lead-magnet campaigns: set "Allow re-entry = No." For intentional re-enrollment cases, add a Wait Timer at the start to prevent rapid re-entry.
No exit-on-purchase logic
What goes wrong: A customer buys at email 3 of a 7-email nurture. They keep receiving emails 4-7 saying 'still interested?' The customer feels ignored. Worst case: refund request, churn, or a public complaint. Revenue impact compounds — typically 2-5% of new customers churn in the first 30 days just from this.
How to avoid: Every cold-nurture Sequence should start with a Decision Diamond: 'If Customer tag, exit.' Plus a global 'Purchase Made' Goal that exits the contact from all sales-pressure campaigns.
Using calendar timers instead of business days for B2B
What goes wrong: Your B2B nurture sends Saturday at 6am and Sunday at 11pm. Open rate on those sends is 4-7%, vs 22-28% on Tuesday at 9am. You think the content is the problem; it is the timing. Effective engagement drops 40-60%.
How to avoid: Settings → Application Settings → Workday → define business hours and days. In Sequences, use 'Wait until business hour' timers instead of 'Wait 24 hours' for B2B.
Stacking 4+ decision diamonds in one sequence
What goes wrong: Three months later, nobody (including you) can explain why a contact ended up on path 6 of 16. Debugging takes hours per stuck contact. Maintenance becomes impossible. Eventually you build a parallel campaign from scratch and abandon the old one — wasted weeks of work.
How to avoid: Max 2 diamonds per sequence. Past that, split into multiple Sequences connected by tag-applied Goals. Goals are auditable; diamond stacks are not.
Skipping the test runs and publishing blind
What goes wrong: Campaign goes live. Email 2 has a broken merge token rendering '~Contact.FirstName~' to 800 subscribers. Email 4 links to a wrong URL. By the time you catch it, 200 prospects have unsubscribed and your sender reputation has taken a hit that takes 30-60 days to recover.
How to avoid: Run 3+ fake contacts through every path BEFORE publishing. Use a real inbox to see what subscribers see. Catch render defects before they hit real prospects.
Recap
Done — what's next
How to set up a Keap account from scratch without painting yourself into a corner
Read the next tutorial
Hand it off
Campaign Builder is the highest-leverage automation skill in Keap and the steepest learning curve in SMB marketing automation. A specialist who has built 50+ Keap campaigns knows which patterns scale, which collapse, and how to structure the canvas so future-you can debug it. EverestX Keap specialists handle this end-to-end at $14-16/hr — typically $300-600 for the first campaign + library design.
See specialist rates
Most healthy Keap accounts have 8-15 active Campaigns: 1-2 welcome / lead-magnet, 1-2 post-purchase, 1-2 nurture by interest, 1 cart-abandonment, 1 reactivation, 1-2 service-specific, plus 2-3 specialty (referral, win-back, event). Past 25 active campaigns, maintenance overhead exceeds incremental value — consolidate.
Campaigns are automated, multi-step flows triggered by goals (forms, tags, purchases). They run continuously. Broadcasts are one-time sends to a static list — like a newsletter or announcement. Use Campaigns for evergreen nurture; use Broadcasts for time-sensitive announcements.
Yes. Marketing → Campaigns → select a campaign → Actions → Duplicate. Useful for variations (e.g., the same nurture for a different segment). Always rename the duplicate immediately and update tokens, links, and sequences before publishing — otherwise you get confusing 'Campaign Welcome Copy 3' chaos.
Open the contact record → Campaigns tab. Shows all campaigns the contact is enrolled in, current sequence + step, and progression history. If a contact is stuck (in sequence > 14 days), this is your starting point for debugging.
Yes — but the import scope is limited. Marketing → Campaigns → Import → upload a campaign template file. Tokens + sequences transfer; tags + custom fields do not (you have to recreate them in the destination account). For complex migrations, use Keap's certified-partner network or hire a specialist.
Keap
Keap rewards discipline and punishes shortcuts. The account-level defaults you skip in week one — sending domain, user permissions, tag taxonomy, dashboard widgets — are the same ones that take a Saturday to unwind in month six. Here is the setup sequence that holds up.
Keap
Tags are Keap's segmentation backbone. They drive every automation, every broadcast list, every report filter. The #1 source of Keap chaos at month 12 is unplanned tagging. Here is the discipline that keeps your tag list usable for years.
Keap
Broadcasts are the one-time-send tool in Keap — newsletters, announcements, promotions. Get the filters wrong, the send-time wrong, or the cadence wrong and you tank a sender reputation that took 6 months to build. Here is the discipline that earns inbox placement.
ActiveCampaign
The automation builder is ActiveCampaign's highest-leverage feature — and the place most operators get stuck. Triggers, conditions, and goals each have a 'right' way that doesn't show up in the in-app tutorial. Here's the build that scales.
Keap
DIY Keap works — until Campaign Builder becomes a hairball, tags spiral past 500, deliverability drifts, and you spend Saturdays debugging instead of running the business. This is the honest framework: when the cost of self-managing exceeds the cost of hiring.