How to Create Event Reminders with ActiveCampaign


Many ActiveCampaign users don’t use Goals because they feel they’re difficult to understand. Instead, they use multiple IF/ELSE actions that don’t always achieve the desired outcome and can make it difficult to troubleshoot.

An image of multiple if/else actions

In this video I show you how to create event reminders with ActiveCampaign.

What are ActiveCampaign goals

ActiveCampaign goals are automation actions that work like magnets.

They can attract a contact that meets the conditions specified in a goal.

They can also hold a contact in place until Goal conditions are met.

To be affected by a goal, contacts must be in the same automation as the goal. They can’t attract contacts in other automations.

How to use ActiveCampaign Goals

In this section, I’ll show you how to use goals that:

John owns a motorcycle dealership and he’s going to invite customers to a party to celebrate 10 years in business.

He wants a series of automations that will:

Before we start

Before we start, I’ve already created a custom date field called EVT: Birthday Date to store the date of the event.

Custom field - Event birthday date

Four tags have also been created.

EVT: Birthday – Attending will be added to customers who accept the invitation.

EVT: Birthday – Invited will be added to customers who are invited to the party.

EVT: Birthday – No response will be added to customers who don’t respond to the invitation.

EVT: Birthday – Not Attending will be added to customers to decline the invitation.

EVT is my abbreviation for Event.

Event tags

Event invitation automation

The first automation will send a series of emails to invite customers to the event.

Here’s what I’ll be building.

This automation will send email to customers inviting them to John’s birthday party.

He’ll add a tag to his customer contacts which will trigger the automation.

To get the timing right, he’ll hold contacts until 7am the following morning.

The first email is sent then he’ll hold all contacts for 7 days.

If a contact accepts or declines the invitation, they’ll meet the conditions of the goal, jump all following actions and go straight to the gaol.

They’ll then exit the automation.

If they don’t accept or decline the invitation included in the first email, they’ll be sent a second email and if necessary, a third.

Let's build it

The start trigger will be when a tag EVT: Birthday – Invited is added to a contact record.

Invitation automation trigger

I usually set this to run multiple times at this point for testing purposes and we can change it later.

John wants this email to land in a customer’s inboxes at around 7am.

I’ll create a Wait action. Wait until it’s 7am in John’s time zone.

ActiveCampaign Wait Action 7 am

And now for the email.

The email will follow John’s naming standard.

E01: for the first email in the automation, and then the name of the automation which will be EVT: Birthday – Invited.

We’ll use John’s email template.

In this post, I’m not going to spend time on the actual content of the email, but I will add a button.

I’ll change the button text.


I always try to write my calls to action in the first person.

When a customer selects this button:

They’ll be taken to a web page confirming their RSVP.

The Invited tag will be removed, and the tag EVT: Birthday – Attending will be added.

ActiveCampaign add link details
Link and actions when recipients is attending

John also wants to stop sending invites to people who can’t attend.

I’ll add another button.

They’ll be taken to a web page to confirm that they’re not attending.

The Invited tag will be removed, and the tag EVT: Birthday – Not Attending will be added.

Setup for the not attending button

John’s going to wait 7 days before sending another email to remind his customers to RSVP.

And another email will go out.

Always remember, when you use emails that you’ve used before, make sure tag actions are updated.

John’s going to wait 7 days before sending another email to remind his customers to RSVP.

Then he’ll wait 7 days.

Next, add a goal at the end of the automation that will attract any contacts who have selected either of the buttons.

This will make them skip any actions between their position in the automation and the goal that attracts them.

Let’s name the goal EVT: Birthday – RSVP.

I’m going to add the abbreviation for Continued because this goal doesn’t hold contacts.

They just pass through if they don’t meet the conditions.

The condition will be tag exists EVT: Birthday – Attending.

Or tag exists EVT: Birthday – Not Attending.

I’ll save the goal.

Even though they aren’t required, I always like to add an end automation action as a visual que.

Give the automation a meaningful name. In this case, EVT: Birthday – Invited
And don’t forget to set it as Active.

Event confirmation automation

Now the automation to send a confirmation email to customers who are attending.

The trigger for this automation is when tag EVT: Birthday – Attending is added.

The first action will be to add the date of the event to the EVT: Birthday Date field in the recipient’s contact record.

This field is used to control the flow of the automation that will send reminders to people who are attending.

You could do this in other ways such as updating the field when someone submits a form.

The confirmation email should be sent as soon as possible after they select the button.

Emails like this could include information the recipient might need such as the address, the date, and time and other relevant information.

Now I need to create the next automation before I can finish this one.

So I will give it a meaningful name, but I won’t make it active yet.

I’ll come back to this later.

Event reminder automation

Here's how the automation will work

Now the automation to send event reminder emails.

In this automation, goals will be used to hold contacts until the conditions of a goal are met.

Now this is the important part.

Every contact who enters this automation will be held at the first goal until they meet the conditions of any goal in this automation.

Let’s have a look at how it works.

The date of the event date is 1st of June. This is the date added to the EVT: Birthday Date field by the Confirmation Email automation.

A contact accepts John’s invitation 30 days before the event date. They’re sent a confirmation email and then added to this automation.

They’re held at the first goal until any condition in any goal is met.

When the current calendar date is 7 days before the date in the contact’s EVT: Birthday Date field, the condition is met, the contact is released from the goal, and sent the first reminder. They’re then held at the 2nd goal.

Another contact accepts John’s invitation 5 days before the event date.

They’re held at the first goal.

Remember, when a contact enters this automation, they are held at the first goal until any condition of any goal in the automation is met.

When the current date is three days before the date in the custom field, the contact meets the condition of the 2nd goal.

The second goal pulls the contact to that goal skipping the first email. It’s not sent.

And because they meet the condition of the 2nd goal, they pass through and are sent the 2nd reminder email.

The first contact is also at the 2nd goal. They meet the goal’s condition and are released and sent the 2nd email.

Both contacts are now waiting at the third goal.

A contact who accepted John’s invitation can no longer attend.

They select a link added for this purpose.

The goal attracts that contact pulling them past remaining emails and they exit the automation. They won’t receive any more reminder emails.

As each goal condition is met, the remaining contacts move along the automation workflow until the they’re sent the final email. Then they exit the automation.

Let's build it

This automation won’t have a trigger.

For any contact entering the automation, John doesn’t want them moving forward until they meet the conditions of a goal.

The first gaol will hold the contact until the current date is 7 days before the event date.

I’ll create a goal and name it 7 Day Birthday Reminder (Hold).

The Hold indicates that this goal holds contacts in place until a condition is met.

I’m going to go down to the bottom dropdown.
I want this goal to hold a contact until a condition is met. For that, I change the dropdown to Wait until the conditions are met.

Now the condition.
The condition will be based on the value of our custom field, EVT: Birthday Date.

I’ll change the condition to be when EVT: Birthday Date is current date.

The goal is currently set to hold a contact until the current date is the same as the date in the Birthday Date field.
But John wants the Goal to hold the contact until the current date is 7 days before the date in the EVT: Birthday Date field.

And this is where a lot of people get confused.

To have this Goal hold a contact until the current date is 7 days before the date in the custom field, we set this dropdown to Plus and enter 7 days.

Plus is the number of days before the date in the field.

Minus is the number of days after.

I’ll save the condition.

I’ll talk about And when this goal is later.

If you’re on a Lite plan, you won’t see this Trigger field.

I’ll save the Goal.

And now I’ll create the first email.

John wants an easy way for customers to let him know that they can no longer attend.

Selecting the button will take them to a confirmation page, remove the attending tag, and add the not attending tag.

And I’ll save the email.

Now another goal.

I could create a copy of the first goal and change it but sometimes it’s easier to create a new one.

I’ll name it 3 Day Birthday Reminder (Hold).

This goal will hold contacts until the date in the Birthday Date field is the current date plus three days.

Save the condition.

Change the If the contact dropdown to Wait until the conditions are met.

And save the goal.

I’ll quickly create another email.

And then our last goal.

Create a new goal.

Give it a meaningful name.

Set the condition to be when Birthday Date is equal to the current calendar date plus 1.

And save the condition.

Change the If the contact dropdown to Wait until the conditions are met.

And save the goal.

And the email to be sent one day before the event.

John doesn’t want to continue sending emails to customers who can no longer attend.

I’ll add another Goal.

I’ll name this Can’t make it (Cont’d) because this Goal won’t hold contacts.

The condition will be when tag exists EVT: Birthday – Not Attending.

So this Goal will attract all contacts who have the Not Attending tag.

I’ll save the condition and save the Goal.

I’ll just add an End this Automation action.

I’ll give the automation a meaningful name and set it to Active.

Finishing the confirmation automation

I still need to get contacts into the Reminder automation.

To do that, I’ll go back to the Birthday Confirmation Email automation.

Depending on when they select the button in the email, there is a possibility that they’ll enter the Reminder automation and immediately be sent a reminder email. That would be two emails received in quick succession.

To avoid that situation, I’ll add a Wait action. And I’ll wait until 7am.

That means once they’re sent the confirmation email, they’ll wait un until it’s 7am the following morning before they move on.

I’ll add a start automation action and choose the Reminder automation.

If you don’t see the Reminder automation in the list, it isn’t Active.

And finally, set the automation to active.


John would like two things changed.

He wants customers who didn’t respond to:

He also knows that there may be some customers who respond after all three emails have been sent.

Back in the EVT: Birthday – Invited automation, I’m going to add an If/Else action.

The condition will be if tag exists EVT: Birthday – Attending or tag exists EVT: Birthday – Not Attending.

This if else action isn’t to deal with people who have responded. The goal takes care of them. The only reason this If/else exists is to redirect contacts who have not responded to any of the emails.

I’ll select Add to save it.

Now a Wait action to hold contacts who don’t respond to the emails.

They’ll be held here until the day after the event.

I’ll set the Wait condition to be EVT: Birthday Date field is current date minus 1.

Remember, plus is days before the event. Minus is days after the event.

The day after the event, contacts pass through the Wait action and will have a tag added, EVT: Birthday – No Response.

And to keep things tidy, have the EVT: Birthday – Invited tag removed.

John also wants them removed from the Wait action if they respond to his invitation before the event.

Here’s where a goal can help.

When a goal is set to below contacts position, the Goal won’t attract contacts in any other part of the automation such as contacts in the Wait action under the No branch.

They only affect contacts above the goal’s position in the automation.

Above according to the automation flow.

To remove any contacts who are at the Wait action when they respond, a change needs to be made to the EVT: Birthday – RSVP goal.

And we change “And when this goal is:” to Anywhere.

Let’s see it in action.

Here’s a customer who didn’t respond until after the emails were sent.

The contact is at the wait condition.

Now imagine that this recipient selected a link in one of John’s invitation emails.

The goal acts as a magnet attracting contacts in the No branch who meet the Goal conditions.

Goals have one unbreakable rule. Once a contact has passed through the goal, whether they meet the conditions or not, they cannot be attracted back to that goal.

This rule doesn’t apply if the contact exits the automation and later re-enters it.

Now here’s what I mean.
The Goal has been moved so that it’s above the If/Else action.

John’s thinking at the time was that the Goal attracts contacts who responded and if they didn’t, they pass through the goal and would be held at the wait action.

But remember, John only wants contacts who didn’t respond held at the Wait and if they do, they should be removed.

Here’s an example of a contact who’s passed through the goal.

The red x indicates that they passed through but didn’t meet the conditions of that goal.

In this situation, if the contact had the accepted tag added, they wouldn’t be attracted back to the goal.

A contact who passes through a Goal cannot be attracted back to that goal.

Earlier, I showed you how the anywhere works using an If/Else. I wouldn’t normally use an if/else in this situation.

That was for demonstration purposes. An alternative is to simply move the wait to above the goal. It achieves the same result as the if/else.

After the event, John would like to know how many contacts accepted or declined the invitation.

Now you could use tags to do this but let’s have a look at another way.

The goal icon shows the number of goals in the automation.

Hovering over the icon shows the percentage of contacts who passed through the Goal and met the conditions.

You can select the link to show more details.

The contacts with the green circle are those who passed through the goal and met the conditions, in this case, they had the Attending or Not attending tags.

The contacts with the red circle, passed through the goal but didn’t meet the conditions.

Wrap up

And there you have it.

A series of automations to manage the event invitation process that uses Goal actions.

Remember, when someone enters the automation that sends the reminder emails, they are held at the first goal until any condition of any other goal in the automation is met.

And, a contact cannot be pulled back to a Goal once they’ve pass through it.

Inbox Insights: Weekly email marketing tips, blog post and course updates delivered to your inbox. Sign me up.
Like this article?
Share it
Drop files here or
Max. file size: 50 MB, Max. files: 3.