If you were looking at a given person’s Journey through a segment triggered campaign, you might’ve seen the term “grace period”. For example:
“Waiting in grace period for a day”
“Waited in grace period for 2 hours”
For segment-triggered campaigns, a person begins their journey once they match the trigger conditions. If they don’t meet the filter conditions by the time they reach an action that impacts a person (message delivery, attribute updates, static segment updates, collection queries, create event actions, or batch updates), they enter into a grace period. Similarly, if they meet your exit criteria when they reach a delivery action, they enter into a grace period (they do not immediately exit).
A grace period is just that - a period of time that people wait in your journeys before (re)matching filter conditions or no longer matching exit criteria. If the grace period ends and they’re still inactive, people will continue through until they reach an action that impacts people (message delivery, attribute updates, static segment updates, collection queries, create event actions, or batch updates), at which point we re-evaluate the filter conditions and exit conditions. If someone doesn’t match the filter conditions, they will exit the campaign. If someone matches the exit criteria, they will exit the campaign.
There are no grace periods when a campaign exit is based on conversion segment match.
Say you have a campaign that looks like this:
- Trigger =
- Wait 5 minutes
- Wait 3 days
Alice enters this campaign by filling in a particular piece of information in her profile within your app, matching the
Power Users segment conditions.
- She enters the first delay.
- While waiting, Alice realises she’s made a mistake with her information! She deletes that piece of information in her profile. As a result, she stops matching.
She finishes waiting five minutes. At this point, Customer.io hits pause and she becomes inactive. We don’t remove Alice from the campaign; instead, we give her a “grace” period to match again.
Well, that depends:
If Alice stopped matching while in a delay, then it’s half the length of the delay, but not less than 24 hours, and no more than 31 days. For example, if your delay is 3 days, then the grace period is 1.5 days. If it’s twenty minutes, the grace period is 24 hours.
If she became inactive while waiting on a time window, then we’ll wait until the end of the second window.
This is much easier with a couple of examples:
Say it’s currently Sunday, 12 noon, and Alice is waiting to receive Campaign Email 1. She becomes inactive on Monday at 8AM.
- If the time window is Monday, Wednesday, or Friday between 9AM-5PM, she has until Wednesday at 5PM to rematch.
- If the time window is just Monday, 9AM-5PM, she has until the second Monday (a week later), 5PM to match.
In Journeys, you can see exactly when a user is in a grace period, because they’ll have the label “Leaving” on their segment-triggered campaign.
To understand this, let’s return to Alice:
Say that half an hour after becoming inactive, Alice fixes her mistake, and re-fills that information in her profile. We still want her to continue the campaign. When she fixes her info, she’ll re-join
Power Users, become active, and receive your next email.
- If you want to send a transactional email for new users with a user segment filter. You send two calls:
identify(to create the user) and the event call (to trigger the campaign). Without a grace period, the transactional email may not be sent if we we processed the event call before the
- You change your trigger condition and realise a few hours later that no emails are sending. You correct this, and grace periods enable those who were bumped out to continue.
We originally added grace periods because precise cutoffs and match times sometimes caused people to not receive a campaign or not continue in campaigns unexpectedly. We want to make sure we actually match everyone who should match.
Grace periods also help make sure that your users continue to get messages when we have the occasional operational issue or some planned downtime.
Hopefully, you now know a little more about how matching and re-matching works in Customer.io. If you have any questions about how this works, get in touch!