Loading tutorials…
Loading tutorials…
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.
Who this is forOperators on Plus or higher launching their first real automation — welcome series, post-form nurture, or onboarding. If you've built one already but it 'fires inconsistently,' this tutorial diagnoses the trigger + filter combo that's failing you.
What you'll need
Step 1
ActiveCampaign → Automations → 'Create an automation' → 'Start from scratch.' Choose the trigger that matches your data flow.
Automations → 'Create an automation.' Skip the templates the first time — they hide the trigger logic and obscure how the automation actually fires.
'Start from scratch' → name the automation (`Welcome Series - Newsletter` is better than `Automation 1`).
Trigger picker appears. The 4 most common: (a) 'Subscribes to a list' — fires when added to a specific list. (b) 'Submits a form' — fires on specific form submit. (c) 'Tag is added' — fires when a tag is applied. (d) 'Visits a page' — fires on site tracking (Plus+ only).
'Subscribes to a list' is the canonical Welcome trigger. 'Tag is added' is the most flexible for multi-source nurture (one tag, many entry points).
Configure 'Runs: Once' for welcome/onboarding flows. 'Multiple times' is only for nurture flows you want to re-fire on re-engagement.
Step 2
Drag 'Send an email' as the first action. Build the email inline, or pick from saved templates.
After the trigger, click '+' to add an action.
Choose 'Send an email.' Either create a new email inline or pick a saved template.
If creating new: pick a template, write your subject + preheader + body. Use personalization tags (`%FIRSTNAME%`, `%COMPANY%`) sparingly — fallbacks are critical (e.g., `%FIRSTNAME|there%` so missing names show 'there' instead of empty).
Set sender name, sender email, reply-to. Use a real reply-to address that someone monitors — automated replies to a no-reply hurt sender reputation.
Save. The action appears in the automation canvas connected to the trigger.
Step 3
Drag 'Wait' to control timing. Choose 'Wait for specified time' for fixed delays, 'Wait until specific conditions' for behavior-gated delays.
Click '+' after the first email. Pick 'Wait.'
Option 1: 'Wait for specified time.' Enter days/hours/minutes. For Welcome flow Email 2, 2 days is standard.
Option 2: 'Wait until specific conditions are met.' E.g., 'Wait until contact opens Email 1 OR 3 days pass.' Use this when you want to branch behavior.
Option 3: 'Wait until a specific date.' Useful for event-based flows (e.g., wait until 24 hours before a webinar).
Save. The wait block appears with its duration label.
Step 4
Drag 'If/Else' to branch. Common branches: clicked Email 1 (high intent) vs didn't click (lower intent). Each branch can have its own follow-up sequence.
Click '+' after the wait → 'If/Else.'
Configure the condition. E.g., 'If clicked any link in [Email 1] → YES branch. Else → NO branch.'
On the YES branch, add a follow-up email tailored to high-intent contacts (deeper product info, scheduling link).
On the NO branch, add a re-engagement email tailored to lower-intent contacts (social proof, simpler CTA).
Both branches eventually reconnect to a single 'End of automation' or feed into a second wait block.
Test the branches by entering yourself as a contact, clicking Email 1, and checking which branch you flow into.
Step 5
'Goals' let contacts skip ahead in the automation when they convert. Add a 'Purchased' or 'Demo Scheduled' goal to exit nurture early.
Click '+' anywhere in the automation → 'Goals.'
Define the goal condition: e.g., 'Tag `customer` is added' OR 'Form `Demo Request` is submitted.'
Set 'Position the contact at this goal upon meeting conditions' — this means when the goal fires, the contact skips ahead to the goal's location in the automation.
Below the goal, add a 'Welcome to the Customer Journey' email or a 'Thanks for booking' email — content appropriate for the converted state.
Goals are the difference between automations that keep emailing customers and automations that gracefully transition. Add at least one to every nurture flow.
Step 6
Save → Activate → enter a test contact via the trigger and watch the path.
Top right of the automation editor: toggle status from 'Inactive' to 'Active.'
In another browser window, trigger the automation by yourself: add a test email to the trigger list (or submit the trigger form, or apply the trigger tag).
Go back to the automation → click 'Contacts in this automation' → confirm your test contact appears.
Wait for the first wait block to elapse (or for testing, shorten waits to 1-2 minutes temporarily — remember to revert before going live).
Verify each email arrives, lands in inbox (not spam/promotions), and renders correctly on mobile + desktop.
After validation, restore real wait durations. Activate. Monitor 'Contacts in this automation' for the first 48 hours to catch any unexpected drop-offs.
Common mistakes
Trigger fires multiple times when it should fire once
What goes wrong: Welcome automation re-fires when an existing contact is re-subscribed (e.g., they unsubscribe + resubscribe, or you re-import them). Existing customers get the welcome series again. Brand trust erodes; unsubscribe rate climbs 3-8%.
How to avoid: On the trigger settings, set 'Runs: Once' (not 'Multiple times'). For most welcome/onboarding flows, this is the correct setting.
Wrong trigger — using "Tag is added" where "Subscribes to a list" belongs
What goes wrong: If you tag contacts in bulk during import, an automation triggered on 'Tag is added' fires for every imported contact at once. Hundreds of emails go out in a single minute, often before you've validated the content. Multiple times this has crashed accounts and triggered ISP rate limits.
How to avoid: Use 'Subscribes to a list' for true new-signup automations. Use 'Tag is added' only when you fully control when the tag fires (typically from another automation or a form submit). Never bulk-tag for a tag-triggered automation.
No goals — converted customers keep getting nurture emails
What goes wrong: Customer buys mid-automation → still gets emails 4, 5, 6 promoting the thing they already bought. Drops re-engagement rate 8-15% and generates 'I already bought this' replies that burn support time.
How to avoid: Add a goal on the conversion event (Tag `customer` added, or Purchase made if Deep Data is wired). Position the contact at the goal AND add an 'End this automation' immediately after.
Personalization tags without fallbacks
What goes wrong: Emails go out with 'Hi ,' or 'Welcome, !' because the FIRSTNAME field is empty for imported contacts. Loses ~15% engagement on emails with broken personalization (subscribers notice).
How to avoid: Every personalization tag needs a fallback: `%FIRSTNAME|there%`. Subject lines especially — broken subject lines tank open rates 30%+.
Time delays in minutes when they should be days
What goes wrong: Typo turns '2 days' into '2 minutes.' Entire automation fires in 10 minutes. Contacts get 5 emails on signup day. Unsubscribe rate jumps from 0.3% to 8-12%. Sender reputation takes a 30-day hit.
How to avoid: Always check the wait-block label in the automation canvas — it shows 'Wait 2 days' or 'Wait 2 minutes' clearly. Before activating, click each wait block and verify the unit.
Activating without testing yourself first
What goes wrong: Automation goes live with a broken link, malformed personalization, or missing image. First send hits 1K-10K contacts. Brand damage + corrections + apology email = 4-6 hours of cleanup.
How to avoid: Always trigger the automation with a test contact you control. Walk through every email. Click every link. Verify mobile rendering. Then activate.
Recap
Done — what's next
How to set up an ActiveCampaign account the right way
Read the next tutorial
Hand it off
First automation is the foundation — every flow you build later assumes you understand triggers, conditions, goals. A specialist who's built 50+ automations will get the trigger logic right on the first try and validate the entire flow before activation. Typical 5-7 step automation build runs $300-700 at $14-16/hr.
See specialist rates
Campaign = a one-time scheduled blast to a list/segment (your weekly newsletter). Automation = a multi-step flow triggered by an event (signup, tag, page visit) that delivers different content over time. Campaigns are point-in-time; automations are ongoing.
3-5. Most operators land at 4. Less than 3 leaves money on the table; more than 5 pushes up unsubscribes without proportional revenue lift. Pace them: Email 1 immediately, Email 2 at Day 2, Email 3 at Day 5, Email 4 at Day 9.
If/Else for branching within a single flow (clicked Email 1 vs not). Separate automations for fundamentally different paths (newsletter signup vs demo request). Rule of thumb: if both branches would have the same volume of subsequent emails, use If/Else. If the branches diverge in length, build separate automations.
Depends on the 'Runs' setting. 'Runs: Once' means each contact only enters the automation once ever, even after re-subscribing. 'Runs: Multiple times' re-enters them. Welcome flows should be 'Runs: Once.' Re-engagement nurtures can be 'Multiple times.'
Three ways: (1) 'End this automation' action at any branch. (2) Goal that positions to an 'End' action. (3) Contact unsubscribes (auto-exit from all automations). For mid-flow exits based on a behavior (e.g., booked a demo → exit nurture), use a Goal with End immediately after.
Yes — and it's a common pattern. E.g., signup triggers both a Welcome series AND an internal sales-notification automation. Each runs independently. Be careful with Smart Sending and overlap — if both send emails, the contact may receive two emails within seconds.
ActiveCampaign
ActiveCampaign rewards careful setup more than almost any other email platform — get the plan, auth, and import order wrong and you're cleaning up data for months. Here is the setup sequence that doesn't trap you in 60 days.
ActiveCampaign
Site tracking is what turns ActiveCampaign from an email tool into a behavior platform. Done wrong, 35% of your behavior-triggered automations never fire. Here is the GTM install path most guides skip.
ActiveCampaign
Tags, lists, and fields each have a 'right' use case — and an expensive 'wrong' one. Most accounts have data model debt that costs 12-18% engagement when tags and lists conflict. Here's the framework specialists use.
ActiveCampaign
One email, four audiences. Conditional content is how mature operators send one campaign and let each subscriber see content matched to their segment. Done wrong, it leaks unmasked variables and breaks deliverability. Here's the build that scales.
ActiveCampaign
DIY ActiveCampaign works — until the automations stack, the data model frays, and you spend more time debugging flows than running the business. This is the honest framework: when the cost of self-managing exceeds the cost of hiring.