Olo Engage Marketing Automation solution streamlines marketing processes and reduces time spent on repetitive tasks. With Automations, you can send targeted and personalized campaigns to guests — automatically — after they take an action, when their account status changes, or on specific dates.
Pro Tip: Download our Marketing Automation Guide for best practices and ideas on how to get started on your automations journeys!
Skip To:
- Key Terms to Know
- How Automations Help
- How Automations Work
- Getting Started
- Recommended Automations
- Supported Triggers
- Pre-Entry Filters
- If/Then Logic
- Scheduled Actions and Do Not Disturb
Key Terms to Know
- Automation: A campaign or series of campaigns that are sent to guests, based on certain triggers
- Trigger: An action or behavior that prompts an Automation to send
- Action: An action that is taken when a trigger occurs
- Template: The content of each action within an automation, for example, a specific email's creative template, or an SMS's text content
How Automations Help
- They save time and effort. With Automations, you don't have to spend hours creating custom lists or duplicating & updating campaigns - simply set it once, and get back to your business.
- They're targeted and personalized. Automations ensure that guests receive the most relevant marketing messages at the right moments, personalized to their behavior and unique profile.
- You can measure real impact and ROI. Olo connects campaigns with every guest interaction, allowing you to measure impact beyond basic opens and clicks. See which automations drive the metrics that really matter - visit frequency, online orders, and reservations booked.
How Automations Work
At a high-level, every automation includes a trigger, an action, and an action template. As guests meet the conditions of a trigger, like when they've completed a certain event, the automation begins and the first action and template are sent to the guest.
Here is a summary of how you would set up a basic automation:
- Create an automation with the name "Welcome"
- Select a trigger condition of "When guests sign up via WiFi"
- Add an email action
- Select a campaign template of "Welcome Template New"
- Activate the automation and Olo will begin sending the email to new guests as they sign up via your WiFi sign-in page—automatically
Getting Started
Creating Automations
- Sign in to the Engage Dashboard
- Navigate to Marketing → Automations
- Click the blue + Create Automation button on the top right
-
Select a featured Automation from the library or choose to create a Custom Automation
Adding a Trigger
- Click the Set Trigger link
- Select a trigger from the available trigger conditions
Add an Action
Click the plus (+) button to add an action, then select your action type.
Activating the Automation
-
From the builder, you can activate an automation by clicking the Activate Automation button on the top right of the screen. You can also activate/deactivate automation by using the toggle switch in the list view
-
When activated, the automation will begin sending to guests who meet the trigger condition of your automation.
Testing Automations
- Click the arrow icon to expand more options
- Click the Test button
- A test will send the first action template to your email address immediately
Editing Automations
- Click the Edit button from an existing Automation
- Make your edits and click the Save Changes button to save
Deleting Automations
- Click the arrow icon to expand more options
- Click the Delete option
- Click the Delete button once again to confirm
Recommended Automations
Get setup with new automated campaigns, triggered by guest behaviors, faster than ever before. Our team of marketing experts have created a strategy-in-a-box we can’t wait for you to explore — check-out the all new Recommended Automations within Engage Marketing Automation and here’s what you’ll find:
- Pre-built automations designed to meet specific goals
- Just select the Recommended Automation
- Add the creative for the campaign (meaning, link your Dynamic Template)
- Test, Activate, and you’re LIVE!
How to Access Recommended Automations:
In the Engage Dashboard, navigate to Marketing → Automations. The Featured Automations will appear at the top with a left/right scroll option.
To view all available pre-built Automations, click 'See all' - this takes you to the Automations library.
Automation Triggers
New Segment Entry/Exit Trigger: Any time a guest is added to a segment or removed (based on their behavior meeting the criteria of the segment), you can trigger an automation. Use this to automate win-back emails, for example, should a high-value guest become a churn risk.
Note - Segments used in ‘Segment Entry’ automations need to go through a waiting period of up to 6 hours after being GDP enabled in order to be used in an automation. Once created and enabled for automations, a label will indicate when the segment is ready to be used:
GDP Source Triggers: For brands leveraging GDP, data from any integrated source (e.g. loyalty program) will now be automatically available as a “trigger condition” option as you create automations.
Event Triggers
Olo Order Closed: When a guest's order via Olo has been delivered or picked up and is considered completed/closed
Signed up via Olo: When a guest is first created by ordering via Olo
Signed up via WiFi: When a guest is first created by registering via splash sign-in page
Date-Based Triggers
You can also set date-based triggers (welcome, birthday, anniversary) and event-based triggers (items ordered, location). We have some of these ready for your use in our Recommended Automations!
Example Automations that you can set up:
- Send a “Happy Birthday” message to every one of your loyal fans each year like clock-work—with a special incentive to celebrate with your team
- Send a relevant campaign to guests after they close an Olo order that contained a specific item (e.g. order contains "veggie burger" and triggers an email promoting the launch of a new meat alternative menu item coming soon, with limited time offer)
- Send a campaign after a guest visits a specific location with a customized message or announcement (e.g. Hey Seattle friends! Join our team in celebrating PrideFest 2023—here’s what’s new on the to-go menu to get the party started!)
Pre-Entry Filters
A guest does not 'enter' an Automation until and unless ALL filter criteria are met.
Our UI and pop-over cards help you visualize the logic of the system
-
-
- Separated filters and recurrence cards from the trigger popover to designate these as distinct steps
-

Built-in Tool Tips
Anything above the dotted line in the redesigned canvas is counted as a pre-entry condition - if the guest fails to meet any of those pre-entry conditions, the guest doesn't enter the Automation funnel.
If/Then Logic
If/then logic, or branching logic, is a necessary component of any sophisticated marketing automation system. It allows for marketers to build more complex customer journeys based on guests meeting or not meeting certain criteria. This also allows marketers to send automated follow up emails when guests fall out of a funnel.
We've added the ability to add if/then branches within the Automations canvas:
To use an if/then branch:
In the Action canvas, click the plus (+) button to add a new action, and select If/Then logic:
Once you've selected that action, you'll then select the type of if/then statement you want to branch on:
Event Filter - Allows you to add logic on the event data within the initial trigger.
CRM Filter - Allows you to add logic based on CRM attributes; this brings the same Segment criteria selector, including 'and' + 'or', into Automations
-
-
-
After selecting your criteria and filling out any necessary fields, a new filter is added to the canvas with Yes/No branches - if a guest meets the filter criteria, they'll proceed to the next step in the 'Yes' branch; if a guest doesn't meet the filter criteria, they'll proceed to the next step in the 'No' branch.
-
-
Scheduled Actions and Do Not Disturb
Although Automation messages are generally intended to send after the triggering event (or after a delay step), there are times when sending all triggered messages at a specific time of day is useful.
We've added three new sending options to the action cards within an Automation:
-
- Send Immediately (default)
- Scheduled Send - Send every day at a specified time
- Do Not Disturb - Any messages normally sent during these hours will be scheduled to send when 'Do Not Disturb' ends
Scheduled Send
To schedule, simply enter the time of day (mind the time zone, see FAQ below) that you want this message sent:
Do Not Disturb
To configure Do Not Disturb, simply add the starting time and the ending time:
- Any of the 3 sending types can be combined with a 'transactional' action
-
Pro tip: If using Scheduled Send to set a preferred sending time for a cron-scheduled trigger (e.g. Birthday, Anniversary, or Segment Entry/Exit), be sure to account for the cron picking up the trigger at the scheduled cron time and then account for your scheduled action
-
e.g. the Birthday cron runs every day at 1pm ET; unless a delay is set, all guests who's birthday falls on that day will have their birthday message sent at 1pm or shortly after. Let's say I have a rule set up to fire the trigger '7 days before guest's birthday' - If I want all birthday messages to go out at 9am ET every day instead of 1pm, I would have to:
- Change the filter to '6 days before guest's birthday'
- Schedule the action for 9am ET (birthday trigger fires the day before at 1pm and is held in a queue until 9am the next day)
-
Cron job schedules:
Name Description Time (in UTC) Smart Properties Data Science produced custom fields. These values are created by data science in snowflake and ingested via s3. 9:00; Weekdays only. Preferred / Favorite Locations Data Science produced favorite / preferred locations 11:00; Everyday Date Based Automations Automation triggers: Guest Birthday and Guest Anniversary. This is done by CRM which paginates an elastic search query and publishes a topic. 17:00; Everyday Segment Membership Loops through all segments and exports them to GDP. 0 */6 * * * (every 6 hrs) Convert Feedback Reviews ReviewsService.convertFeedbackFormsToReview() which converts feedback_responses to reviews for the last 12 hrs so the sentiment tool can display "reviews" for feedback responses. 11:00 / 23:00; Twice a day Worldpay Worldpay drops a file into SFTP where we ETL to our payments DB 9:00
-
e.g. the Birthday cron runs every day at 1pm ET; unless a delay is set, all guests who's birthday falls on that day will have their birthday message sent at 1pm or shortly after. Let's say I have a rule set up to fire the trigger '7 days before guest's birthday' - If I want all birthday messages to go out at 9am ET every day instead of 1pm, I would have to:
-
Tags on the action card will indicate these advanced settings are in use:
- Please note this is NOT when the trigger fires but when the associated action step sends - you could feasibly have multiple messages with different sending rules in the same Automation
FAQ:
-
Does the Scheduled Send or Do Not Disturb hours factor in the guest's/restaurant's time zone?
-
No. The time is set for a single time zone for all recipients of that action
-
If you have locations in multiple time zones, you can utilize CRM filters and the 'Preferred Location Name' attribute to set up distinct action steps with their own scheduled times based on that grouping of locations
-
-
With the Do Not Disturb feature, is it possible to have all messages that were held from sending drop instead of being sent the next day when DnD ends?
-
No. Those messages will will still be delivered, just at a more optimal time.
-
