An ActiveCampaign automation not triggering is one of the few problems in marketing automation where the platform is almost never the thing at fault. That sounds like a dodge. It is not. ActiveCampaign runs a specific set of entry checks before a contact is allowed into a workflow, and a contact who fails any one of those checks is quietly not added. There is no error message, no warning banner, no red mark on the automation. The workflow just sits there reporting zero contacts while you refresh the page and wonder what you broke.
I build and maintain automation stacks for course businesses and membership sites, and this is the request I get more than any other about ActiveCampaign. Nearly every time, the workflow itself is fine. The entry rule is what is wrong, and the entry rule is spread across three different screens that never contradict each other loudly enough for anyone to notice. Below are the ten real reasons a contact does not enter, in the order I check them, with the exact fix and the exact place in the interface to look.
Quick Answer
An ActiveCampaign automation not triggering is almost always an entry rule rather than a bug. Three causes account for most cases: the automation is set to Inactive, the contact met the trigger before you activated the automation (triggers are not retroactive), or the contact already entered once through a trigger set to “Runs once.” Check the automation status first, then the trigger’s run setting, then the automation level entry setting in the Settings tab, which overrides whatever the trigger says.
๐ What’s Covered
02Cause 1: Is the Automation Actually Set to Active?
03Cause 2: Did the Contact Meet the Trigger Before You Turned It On?
04Cause 3: Has This Contact Already Used Up a “Runs Once” Trigger?
05Cause 4: Is the Settings Tab Overriding Your Trigger?
06Cause 5: Does the Contact Really Match the Segment on the Trigger?
07Cause 6: Is Double Opt-In Holding the Contact at Confirmation?
08Cause 7: Are You Using a Third Party Form With the “Submits a Form” Trigger?
09Cause 8: Does Your “Web Page Is Visited” URL Match What People Visit?
10Cause 9: Have You Hit the 10 Entries Per 24 Hours Limit?
11Cause 10: Is the Trigger You Need Even Available on Your Plan?
12How Do You Work Out Which Cause It Is, in Order?
13Why Does ActiveCampaign Work This Way at All?
14How Do You Stop Automations From Silently Failing Again?
15Frequently Asked Questions
Why Is Your ActiveCampaign Automation Not Triggering in the First Place?
Because entry is a gate with five separate locks on it, and the interface only ever shows you one lock at a time.
When something happens in your account, a form submission, a tag being added, a purchase, ActiveCampaign checks every active automation for a trigger that matches that event. Matching the event is only the first test. Before the contact is enrolled, the platform also checks the automation’s own status, the trigger’s run setting, the automation level entry rule in the Settings tab, and any segment conditions attached to the trigger. Fail one, and the contact is dropped without a trace on the canvas.
This is why the usual debugging instinct fails here. People open the automation, stare at the trigger, confirm it says exactly what they intended, and conclude the platform is broken. The trigger genuinely is correct. The rule that rejected the contact lives on a different screen.
The other thing worth understanding early: triggers listen for events as they happen. They do not go back and scan your database for people who already qualify. That single design decision is behind the most common cause on this list, and it catches experienced users just as often as new ones.

Cause 1: Is the Automation Actually Set to Active?
Start here even though it feels insulting, because it is genuinely the most common single cause and it costs ten seconds to rule out. ActiveCampaign states it plainly in its own automation troubleshooting documentation: contacts cannot be added to an “Inactive” automation.
The reason smart people get caught by this is that ActiveCampaign’s own best practice makes it likely. The company recommends setting an active automation to Inactive before you add or edit triggers, then switching it back afterwards. Everybody remembers the first half of that instruction. The second half gets forgotten roughly a third of the time, and the automation sits there looking finished and doing nothing.
A new automation built from scratch also starts inactive. If you built it, admired it, and closed the tab, it never ran once.
Fix: Open the automation and check the status control in the top right of the canvas. If it reads Inactive, switch it to Active. Then make this a habit: the last action of every editing session is to look at that control before you close the tab. If several people have access to your account, check the automation list view periodically for anything sitting inactive that should not be, because a colleague pausing an automation to make one small change is a very easy way to lose a week of enrollments.
Cause 2: Did the Contact Meet the Trigger Before You Turned It On?
This is the one that produces the most frustrated support tickets, and the behaviour is deliberate. ActiveCampaign automation triggers are not retroactive. If the automation was activated after a contact met the trigger conditions, that contact is not added. They are not queued, they are not picked up later, and nothing about them changes when you activate the workflow.
Picture the sequence that catches everyone. You import 800 contacts into a list on Monday. On Tuesday you finish building a welcome sequence with a “Subscribes to a list” trigger and activate it. Zero of those 800 people enter, because the subscription event happened a day before anything was listening for it. Only contact 801, who subscribes on Wednesday, gets in.
There is one documented exception. Date based triggers are not affected by the retroactive rule, because they evaluate against a stored date field rather than a past event.
Fix: Add the affected contacts manually. Click Contacts, open Advanced Search, and build a segment matching the group you want, for example everyone on that list who joined before the automation went live. Check the result is the group you expect, click Edit All to open the Bulk Editor, choose “Add to an Automation,” pick the automation and apply. Those contacts enter immediately. Two warnings worth taking seriously: the action cannot be undone, and if the automation sends email, every one of those people receives it at once, so confirm the segment count before you apply rather than after.
Cause 3: Has This Contact Already Used Up a “Runs Once” Trigger?
Every trigger carries a run setting, found in the trigger’s own options, and the default behaviour trips people up constantly during testing. ActiveCampaign’s documentation on the two settings is clear about what each one does.
“Runs once” means a contact enters through that trigger the first time they meet the conditions, and never again through that same trigger. Submit the form a second time and nothing happens. “Runs multiple times” lets them re-enter each time the condition is met again.
Then there is the detail that turns a five minute check into a two hour one. If you edit a trigger set to “Runs once,” contacts who already entered through it will not enter again, even when they satisfy the new conditions. So the standard debugging loop, tweak the trigger, test with your own email address, see nothing happen, tweak again, produces a permanent false negative. Your test contact was used up on the first attempt and no amount of correct configuration brings them back.
Fix: Test with a genuinely fresh contact every single time. Plus addressing makes this painless if your mailbox supports it: yourname+ac01@yourdomain.com, then +ac02, and so on, each arriving in your normal inbox but registering as a distinct contact. For the real setting, ask what the workflow is for. A welcome sequence should stay on “Runs once.” A re-engagement or purchase follow up almost always wants “Runs multiple times,” and leaving it on the default is why regular customers only ever get the first receipt sequence.

Cause 4: Is the Settings Tab Overriding Your Trigger?
This is the cause people miss for longest, because the screen it lives on is collapsed by default and nothing on the canvas hints that it exists. Every automation has a Settings tab, opened with the arrow at the top right of the canvas, and ActiveCampaign’s documentation states the important part outright: what you configure in the Settings tab overrides your trigger settings.
The relevant control is “A contact can enter this automation,” with three options. “Any number of times” is the default. “Only once” means the contact enters once across every trigger on the automation, and if you have a trigger set to run multiple times, this setting beats it. “Only after they have exited” allows re-entry, but never while the contact is still somewhere inside the workflow.
That last option causes a specific and very confusing symptom. A contact sitting in a long Wait step, say a 30 day nurture pause, cannot re-enter. To you it looks like the trigger has stopped working. To ActiveCampaign the contact is simply still busy. On a workflow with month long waits, an automation can appear dead for weeks while behaving exactly as configured.
Fix: Open the Settings tab before you touch anything else, and read the entry rule out loud alongside the trigger’s run setting. If they disagree, the Settings tab is what actually happens. Make checking this a fixed part of handing over any automation you did not build yourself, because an inherited workflow set to “Only once” at the automation level will quietly ignore every clever trigger you add to it afterwards.
Cause 5: Does the Contact Really Match the Segment on the Trigger?
Most triggers accept segment conditions that narrow who is allowed in. The contact has to satisfy the trigger event and every condition attached to it, at the moment the event fires. Both halves of that sentence matter.
Two patterns account for most of these failures. The first is timing. A trigger that fires on a tag but also requires a custom field to be populated will reject contacts whose field is filled in a second later by a separate process. The event and the data have to line up at the same instant, and in an integration heavy account they frequently do not.
The second is And versus Or. Conditions joined with And require all of them to be true. Conditions joined with Or need only one. Stacked conditions that were each individually sensible often add up to a segment that nobody in your database matches, and the interface will not tell you that the set is empty.
The “On a Schedule” trigger deserves its own note here, because it requires a segment condition by design. It cannot enroll every contact in your account, and if no contact matches the segment when the schedule runs, the automation completes with zero enrollments and no complaint.
Fix: Rebuild the trigger’s conditions as a saved segment under Contacts and look at the count. If the segment returns zero people, the trigger was never going to fire, and you have found your answer in under a minute. If it returns the group you expect, strip the conditions off the trigger one at a time and retest with a fresh contact to find which one is doing the rejecting. Where timing is the issue, move the condition out of the trigger and into an If/Else step after a short Wait, so the data has a moment to catch up before it gets evaluated.
Cause 6: Is Double Opt-In Holding the Contact at Confirmation?
If your ActiveCampaign form has double opt-in enabled, submitting it does not add the contact to your automation. The contact has to click the confirmation link in the email first. Only then do they enter.
ActiveCampaign documents this as applying to three triggers specifically: “Subscribes to a list,” “Submits a form,” and “Tag is added.” That third one surprises people, because a tag feels like something you control rather than something the contact gates.
In practice this rarely presents as a total failure. It presents as a partial one. Some contacts enter, most do not, and the automation looks unreliable rather than misconfigured. Confirmation rates on double opt-in forms are routinely well below 100 percent, so a workflow that works for half your signups is behaving exactly as designed. Deliverability makes it worse, since the confirmation email is itself an email that can land in Promotions or spam.
Fix: Check the form’s opt-in setting first, then decide deliberately rather than by accident. Keeping double opt-in is a legitimate choice for list hygiene and for some regional consent requirements, and if you keep it, treat confirmation as the real conversion point: make the confirmation email short, obviously from you, and sent immediately. If you do not need it, switch the form to single opt-in and the automation starts firing on submission. Either way, test the whole path end to end with a fresh address rather than testing the automation in isolation.
Cause 7: Are You Using a Third Party Form With the “Submits a Form” Trigger?
This one is a hard rule rather than a quirk, and it is stated directly in ActiveCampaign’s troubleshooting documentation: if you are using a third party form with the “Submits a form” trigger, contacts will not get added to your automation. Use a “Subscribes to a list” trigger instead.
The “Submits a form” trigger listens for submissions of forms built inside ActiveCampaign. A Typeform, a Gravity Forms form, an Elementor form, a checkout page, or a webhook pushing contacts through the API all create or update a contact by a different route entirely. No ActiveCampaign form submission event ever occurs, so a trigger listening for one waits forever.
This is easily the most common cause I see on WordPress sites and on rebuilt course platforms, because the form is nearly always the site’s own. It is worth checking carefully after any platform change, since a rebuilt signup path is exactly the kind of thing that gets tested for “does the contact appear in ActiveCampaign” and not for “does the automation start.” Anyone in the middle of moving a course business from Kajabi to WordPress should treat this as a required post migration check rather than an optional one.
Fix: Have the third party form add the contact to a dedicated list, or apply a dedicated tag, and trigger the automation on “Subscribes to a list” or “Tag is added” instead. I default to tags for anything driven by an outside system, because a tag is a universal adapter: any integration, webhook, or API call can apply one, and the automation stops caring where the contact came from. Name the tag after the source, something like source-webinar-signup, so a year from now the trigger explains itself.
Cause 8: Does Your “Web Page Is Visited” URL Match What People Visit?
Site tracking triggers fail on details small enough to be invisible, and ActiveCampaign has a dedicated troubleshooting article for exactly this trigger. Three separate mismatches will each stop it dead.
The trailing slash is the first, and it is genuinely this literal: if visitors land on yourdomain.com/ and your trigger says yourdomain.com without the slash, the automation does not run. The second is page level mismatch, where the trigger points at yourdomain.com/ but people are actually visiting yourdomain.com/blog, which is a different page as far as the trigger is concerned. The third is the whitelist. The domain being visited has to be listed under Website, then Site Tracking, in the “Whitelist and Install Code” box. If it is not there, no visit is ever recorded to match against.
One more thing is worth knowing about site tracking generally: it only identifies visitors it can already tie to a contact record, so anonymous first time traffic will not trigger anything regardless of how correct your URL is.
Fix: Copy the URL straight out of your browser’s address bar after actually loading the page, and paste that into the trigger rather than typing it from memory. Confirm the domain appears under Website then Site Tracking, and add it there if it does not. For groups of pages, use a wildcard: yourdomain.com/blog/* matches any post on your blog, yourdomain.com/* matches every page on the site, and a wildcard also works in the middle of a path such as yourdomain.com/*/thank-you. Wildcards remove the trailing slash problem entirely, which is reason enough to prefer them.
Cause 9: Have You Hit the 10 Entries Per 24 Hours Limit?
There is a hard cap that almost nobody knows about until they trip it: a limit of 10 entries through the same start trigger in a 24 hour period. ActiveCampaign’s own example is precise about how it behaves. A contact who enters an automation 10 times between 2:00pm and 10:00pm is blocked from entering again through that same start trigger until 10:00pm the following day.
You will meet this in two situations, and one of them is testing. Working through a stubborn automation with a single test contact and a “Runs multiple times” trigger, ten attempts goes quickly, and then every further attempt fails for a completely different reason than the one you were investigating. That is a genuinely miserable hour, because the automation starts working correctly and stops appearing to.
The other situation is production, on high frequency triggers such as page visits or repeated tag cycling, where an active contact can legitimately exceed ten events in a day.
Fix: Use a fresh contact for each test rather than recycling one, which sidesteps the cap completely and also avoids the “Runs once” trap above. In production, if a workflow legitimately needs to run more than ten times a day for one person, that is a signal to restructure rather than to fight the limit. Move the repeated work into a single automation that loops with Wait steps and a Goal, instead of relying on the same contact re-entering from the outside over and over.
Cause 10: Is the Trigger You Need Even Available on Your Plan?
Trigger availability depends on your plan level, which explains a specific kind of confusion: a trigger you read about in a tutorial or saw in someone else’s account simply is not in your builder, or a trigger you configured against a feature you do not have never fires.
ActiveCampaign publishes the full matrix in its automation triggers reference. The core set, “Subscribes to a list,” “Submits a form,” “Tag is added,” “Web page is visited,” “Makes a purchase” and “Abandons cart,” is on every base plan including Starter. Several others are not. “Contact field changes,” “Date based,” “Score changes,” “RSS based” and “Event is recorded” all sit on Plus and above, not Starter. “Conversion occurs” and the recurring payment triggers need Professional or Enterprise. Custom Object triggers are Enterprise only.
Deal triggers are a separate case again. “Deal stage changes,” “Deal status changes,” “Enters a pipeline,” “Task is completed” and the rest of that family require the Pipelines add-on or the Sales Engagement enhanced CRM add-on rather than a particular base plan. If your CRM automation has never fired, checking whether the add-on is on the account is a faster first move than rebuilding the workflow.

Fix: Confirm your plan and add-ons before you design around a trigger. Where a trigger is out of reach, a tag is usually the workaround: apply the tag from whatever system does have the information, then trigger on “Tag is added,” which is on every plan. That approach costs one extra moving part and saves an upgrade you did not need.
How Do You Work Out Which Cause It Is, in Order?
Guessing is slow because these causes are invisible in different places. When I am handed an ActiveCampaign automation not triggering for someone, this is the order I actually work through, cheapest checks first, and it resolves the large majority of cases before step five.
- Check the automation status. Active or Inactive, top right of the canvas. Ten seconds, and it is the most common answer.
- Open the Settings tab. Read “A contact can enter this automation.” Remember it overrides the trigger.
- Open the trigger’s options. Note whether it is “Runs once” or “Runs multiple times,” and read every segment condition attached to it.
- Ask when the contact met the condition. If it happened before the automation went Active, that is your answer and the fix is a manual add.
- Test with a brand new contact. Never a contact you have already tested with. Plus addressing gives you an unlimited supply.
- Open the contact record and read their history. It shows whether they entered the automation at all, which splits the problem cleanly in two: an entry problem or a workflow problem.
- Open the Activity Logs. If the contact did enter, this is where you find out what happened next.
- Check plan and add-ons last. It is rarely the cause, but it is the one that no amount of rebuilding will fix.
Step seven deserves expanding, because Activity Logs are the closest thing ActiveCampaign has to a debugger and most people never open them. Hover any action on the canvas and click the Activity Logs icon. You get a per contact record of that action with a status of Success, Failure, or Waiting. Waiting is normal and only applies to Wait and Jump To actions. Failure is where the answer lives, and hovering the failure gives the specific reason.
Two limits are worth knowing before you rely on it. Log data can take up to five minutes to appear after a contact passes through an action, so an empty log immediately after a test proves nothing. And if you delete an action from the automation, its log entries stop being accessible, which means deleting the step you were investigating destroys the evidence about it.
Why Does ActiveCampaign Work This Way at All?
It helps to know that none of this is accidental, because it changes how you build.
ActiveCampaign is event driven. Triggers subscribe to events as they occur rather than repeatedly querying your database asking who qualifies now. That is why they are not retroactive, and it is a sensible engineering decision: an account with 200,000 contacts and 60 active automations would otherwise be re-evaluating twelve million combinations continuously, and the platform would either cost far more or run far slower. The cost of that decision is pushed onto you as a sequencing rule, which is that the automation has to exist and be active before the event happens.
The entry restrictions exist for a different reason: protecting your sending reputation. “Runs once” and the automation level entry rule are guards against duplicate email. Without them, a tag applied twice by an integration on a busy morning sends your welcome sequence twice, and repeated duplicates are the fastest route to spam complaints and a damaged domain reputation. The 10 entries per 24 hours cap is the same idea taken to its extreme: a runaway loop guard that stops a misconfigured integration from mailing one person a hundred times overnight.
The genuine design flaw behind an ActiveCampaign automation not triggering is not the rules themselves. It is that they are silent. A contact rejected at the entry gate produces no record anywhere that says “this contact was rejected and here is which rule did it.” Until that exists, an ordered manual check like the one above is the honest answer, and knowing why each rule exists tells you which one is likely before you start clicking.
How Do You Stop Automations From Silently Failing Again?
Six habits remove most of this permanently, and together they make an ActiveCampaign automation not triggering a rare event rather than a monthly one. None of them are complicated and all of them are cheaper than debugging.
Trigger on tags, not on sources. When anything outside ActiveCampaign starts the workflow, have it apply a tag and trigger on “Tag is added.” One pattern for every integration, and swapping the source system later does not break a single automation.
Activate before you announce. Build, activate, test with a fresh contact, and only then point traffic at it. The not-retroactive rule stops costing you anything the moment the automation is live before the audience is.
Write the entry rule into the description. The Settings tab has a description field. One line saying “entry: any number of times, trigger runs once” makes the invisible rule visible to whoever opens this in eight months, including you.
Keep a testing address scheme. Plus addressed emails, numbered, one per test. This alone eliminates the two most confusing causes on the list.
Build small automations, not one large one. ActiveCampaign recommends this itself, and the debugging argument is stronger than the design argument: when something breaks in a workflow with nine triggers and forty actions, you are searching a haystack, and when it breaks in a six step automation with one trigger, you are reading a list.
Audit quarterly. Open the automation list and check what is Inactive and what has enrolled nobody in 90 days. An automation with zero recent entries is either finished or broken, and the difference matters. This is the same discipline that catches an LMS event that quietly stopped firing, where the automation waiting on it looks perfectly healthy because it has never been asked to run.
Frequently Asked Questions
Why does my ActiveCampaign automation show zero contacts?
An ActiveCampaign automation not triggering for anyone at all is almost always because nobody has met the trigger since the automation went Active. Check the status control first, then confirm the trigger event has genuinely occurred for someone after activation. An automation built to catch existing contacts will show zero forever, because triggers are not retroactive. If the event has definitely happened since, move on to the trigger’s segment conditions and the entry rule in the Settings tab.
Do ActiveCampaign automations run retroactively?
No. ActiveCampaign states that automation triggers are not retroactive, with date based triggers as the documented exception. A contact who met the conditions before you activated the automation will not be added and will not be picked up later. The supported route is to add them manually through Advanced Search and the Bulk Editor’s “Add to an Automation” action.
How do I manually add contacts to an ActiveCampaign automation?
Click Contacts, open Advanced Search, and build conditions matching the group you want. Check the result, click Edit All to open the Bulk Editor, choose “Add to an Automation,” select the automation and apply. The contacts enter immediately and the action cannot be undone, so verify the segment count first. If the workflow sends email, everyone in that segment receives it at once.
How long should I wait before deciding an automation is broken?
Give it a few minutes rather than a few seconds. ActiveCampaign notes that Activity Log data can take up to five minutes to appear after a contact processes through an action, so an empty log straight after a test tells you nothing either way. Use the Refresh Activity button rather than reloading the page repeatedly, and check the contact’s own history alongside the log.
Why does my automation work when I test it but not for real subscribers?
Usually double opt-in or a form mismatch. You confirmed your own subscription without thinking about it, while a meaningful share of real signups never click the confirmation link. The other frequent version is that you tested using an ActiveCampaign form while your live site uses its own form, which does not fire the “Submits a form” trigger at all. Test the real signup path on your real site, not the form preview.
Can the same contact enter an automation more than once?
Yes, if two things allow it. The trigger has to be set to “Runs multiple times,” and the Settings tab entry rule has to be “Any number of times” or “Only after they have exited.” The Settings tab wins if the two disagree. Even then, there is a limit of 10 entries through the same start trigger in any 24 hour period.
If you have worked through all ten causes and the contact still is not entering, the problem has usually moved upstream: the event you think is happening is not reaching ActiveCampaign at all. That is an integration question rather than an automation question, and the contact record’s own history is where you confirm it, since an event that never arrived leaves no trace there either. Fixing the connection is what makes the automation start working, and the automation itself was fine the whole time.
Most of the automation work I do for course and membership businesses starts exactly here, with a workflow that looks correct and does nothing, and it is rarely the automation that needs rebuilding. It is the entry rule, the form, or the connection feeding it.
Still not firing after all ten checks?
Tell me what the trigger is, what is supposed to fire it, and what you have already ruled out. I will tell you honestly where it is breaking and what it takes to fix, whether or not you need anyone to do the fixing.