Action conditions
UpdatedYou can control which customers enter your campaigns with triggers, filters, and frequency settings. You can also add conditions to messages, data blocks, and delays to filter your audience within your campaign.
Click an action to edit conditions:


Hover over the condition on the action to see the details:


How they work
Conditions are optional checks you can add to any message, data block, or delay in your campaign. We check the conditions before initiating the block’s action (sending a message, starting a delay timer, or sending a webhook, for instance).
If people don’t meet the conditions, they skip the action and continue through the campaign. If they should leave the campaign entirely, then consider adding these conditions to the campaign’s trigger criteria.
You can build conditions from people’s attributesA key-value pair that you associate with a person or an object—like a person’s name, the date they were created in your workspace, or a company’s billing date etc. Use attributes to target people and personalize messages. Attributes are analogous to traits in Data Pipelines., eventsSomething that a person in your workspace did. Events can trigger campaigns, add people to segments, etc. You can access event properties in liquid with {{event.<property>}}
data, message data, and segmentsA segment is a group of people in your workspace. Use segments to trigger campaigns, track membership over time, or fine-tune your audience. There are two types of segments: data-driven and manual. Data-driven segments automatically update when people start or stop matching criteria. Manual segments are static. membership. When building conditions based on email opens or clicks, you can also specify whether to target human only or human and machine engagement.
You can use JSON dot notation in condition logic
If you store attributes or event data in JSON objects or arrays, you can use JSON dot notation in your branch conditions to evaluate these properties. Use array[]
to represent any item in an array or array[0]
to represent the first item in the array. See Storing and using JSON for more information about dot notation in Customer.io.
When to use action conditions
Use conditions to personalize journeys even further within a single campaign. Here are a few ideas:
- Channel targeting: send an SMS message, but only if the customer has a phone number
- Tailored onboarding: skip tutorial messages if your users have already completed those tasks to keep your emails relevant
- Messaging by segment: send custom content to users based on segment membership
Edit conditions
Drag and drop a block onto the canvas or click one to edit it. Click Conditions to expand it. Then define your criteria.


Specify which conditions a person should meet to receive the message, enter the delay, or to cue the data update. If people do not meet the conditions, they will skip this item and move on in the workflow.