How funnels work

The basics

Most automation builders use the "if this, then that" language to inspire their workflows. From using dozens of different flowchart-style automation builders, we've found them to be visually appealing, but are hindered by their lack of flexibility and usability. The required usage of "if this, then that" syntax makes building what should be simple automation an exercise in logic proofing.

Groundhogg uses "do this, until that" which is only slightly different in concept, but in practice makes building reliable and predictable automations faster and easier, with less chance of making mistakes or introducing accidental loops and dead-ends.

Here is an example of a cart abandonment sequence in ActiveCampaign

Here is the equivalent sequence, but in Groundhogg.

Notice how the Groundhogg flow is much shorter, easier to read, and requires no if statements.

Benchmarks & Actions

The components of a funnel are called steps of which there are only two kinds, benchmarks and actions.


Actions are the “do this” component. They perform an action on the contact such as send an email, or update contact information.

You can string together as many actions as you want. An action is always preceded by a benchmark.


Benchmarks are the “until this” component. They are triggered when the contact does something, like filling out a form, purchasing a product, or having a tag applied.

A funnel must always start with at least one benchmark. The funnel will start when a contact does something that meets the conditions of the benchmark.

Having adjective benchmarks (multiple benchmarks together) will act as an OR condition. A contact that meets a condition of any of those benchmarks will be able to move forward in the funnel to the next proceeding action. Adjacent benchmarks can be used anywhere in the funnel, not just at the start.

Here’s an example. The funnel will start when…

  • The customer tag is applied, OR
  • A form is filled, OR
  • A custom field is updated

Using benchmarks after actions is how contacts move forward in a funnel. When a benchmark is completed by a contact, that contact will be immediately removed from wherever they were in the funnel before and moved to the next proceeding action to the current benchmark, essentially skipping any other steps.

Here’s an example.

  1. The contact is waiting at a delay timer.
  2. The contact has a tag applied, completing the benchmark.
  3. The contact is removed from the timer, skipping it and it’s proceeding actions
  4. The contact is placed at the send send email step after the benchmark.

Putting actions and benchmarks together, you can start to see how easy it becomes to build sophisticated email sequences and engage with a contact’s activity.

Here’s an example we commonly use for cart abandonment with WooCommerce.

  1. The cart abandonment benchmark is completed
  2. Send cart abandonment emails
  3. When the contact empties their cart, the emails are skipped and they are moved to the Hail Mary email
  4. If they bought instead, they would skip the hail mary and go straight to the product purchased benchmark and the funnel would end for that contact.

Go further with Conditional logic

We know not everything in a flowchart-style builder can be replicated using this method (even though you can get really close). So use our conditional logic addon to get really advanced.

The step "flow"

The step flow is found on the left-hand side of the funnel editor. This is where you build your automation.

Adding steps

You can add as many steps to the flow as you want. To add a new step click the Add Step button located at the bottom of the flow. That will reveal the step selector.

Toggle between the  Benchmarks and Actions tabs to select which steps to add.

Drag the icon of the step you want to add to the location where you want it in the flow. The new step will appear and you will be able to click on it to edit it.

Re-ordering steps

If you want to move a step in the flow, click on it and drag it to the new location in the flow where you want it.

Deleting steps

To delete a step, hover over the step you want to delete and click the trash icon. You will have to confirm you want to delete the step first.

Editing steps

To edit a step select it from the step flow to show its settings. Settings will be different depending on whether it’s a benchmark or an action, and which type it is.

Benchmarks have two special settings.

  • Track conversion when completed: This is used for the conversion tracking in the funnel report, when enabled any contacts that complete that benchmark will be counted towards the funnel's conversion
  • Allow contacts to enter the funnel at this step: Enabling this on non-starting benchmarks will allow any contact who meets the criteria to enter the funnel at that benchmark even if they weren't in the funnel previously.

All steps have a notes area where you can write arbitrary info.

There is no auto-save, so to make sure you don’t lose any progress, update your funnel often.

Activating a funnel

Once you’re happy with your steps and settings, you want to activate your funnel. Toggle the funnel status to active and click the Update button.

How contacts get added

Activating a funnel will not automatically add existing contacts that already meet the conditions of your starting benchmarks as this would be dangerous and prone to human error.

So only contacts that newly meet the criteria of your starting benchmarks from the point of activation will be added.

If you want to add existing contacts you can do so manually.

Activation errors

If there are any errors or issues, you’ll see them in the step flow with a warning icon. You may want to address them.

Making changes to active funnels

There are some special considerations for making changes to active funnels that have contacts in them.

Reordering steps

If you reorder steps in an active funnel any contacts actively going through the funnel will respect the new changes, but any contacts that have already passed those steps will not.

Editing timers with pending events

If you edit any kind of timer action the changes will only affect new contacts that reach it, it will not impact any previous or pending events. You can re-add pending contacts to the timer action to force them to respect the changes.

Deleting steps with pending events

Deleting a step with pending events will also delete those events and effectively remove those contacts from the funnel. If this happens we recommend adding those contacts back into the funnel manually.

Adding new steps to the end of a funnel

If you are adding a new action to the end of a funnel, any contacts that have already finished the funnel will not be added to the new actions. If you wish for any previous contacts to also go through the new actions you will have to add them manually.

Any contacts that have not yet finished, so are earlier in the funnel, will go through the new actions you’ve added.

Deactivating a funnel

To deactivate a funnel, toggle the status to inactive and update. If there are any pending events for the funnel their status will be updated to paused in the event queue. If you reactivate the funnel the paused events will be resumed.

If you don’t want events to be resumed, we recommend canceling them from the logs page.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us