Conversion goals and exit criteria

On the Goal & Exit tab of a campaign, you can set a conversion goal and decide whether people should exit your campaign when they achieve your goal. A conversion goal measures how effective your campaign is. Exit criteria determine if a person should leave your campaign.

Example of a goal and exit criteria for a segment-triggered campaign
Example of a goal and exit criteria for a segment-triggered campaign
Example of a goal and exit criteria for a segment-triggered campaign

How goals work

A conversion goal represents the outcome you want to achieve from a campaign and message. The goal can be:

When you set a conversion goal, you also set a time frame (up to 90 days) that defines when a person can achieve the goal. It can be anytime after or within a certain amount of time after they receive, open, or click a tracked link in a message. If a person performs your conversion criteria within the time frame, we’ll record a conversion. If a person does not perform the conversion goal, or they perform it outside the time frame you set, we won’t record a conversion.

goal-and-exit-example-2.png
goal-and-exit-example-2.png

Conversion metrics

You can check the converted metric to determine the percentage and number of journeysA person or data object’s path through your campaign. and delivered messagesThe instance of a message sent to a person. When you set up a message, you determine an audience for your message. Each individual “send”—the version of a message sent to a single member of your audience—is a delivery. that achieved the goal—and the number that haven’t. Use your conversion metrics to figure out how well your messages perform and to develop strategies to increase the value of your messages over time.

Example of converted metrics on the Overview tab of a running campaign
Example of converted metrics on the Overview tab of a running campaign
Example of converted metrics on the Overview tab of a running campaign
flowchart LR a[Person receives
message]-->b{Do they match
conversion goal?} b-->|yes|c{Are they within
the time frame?} c-->|yes|d[message/journey is
converted] c-.->|no|e[message/journey is
not converted] b-.->|no|f[message/journey is
not converted]

 We do not retroactively count conversions

If you edit or change your conversion goal after you start a campaign, we won’t retroactively apply your conversion criteria. Updating a conversion goal will not update your conversion metrics for messages that were previously marked as converted or not converted; your updated conversion goal and metrics will only apply to new conversions.

Types of messages or actions that can record conversions

We track conversions for the following message/delivery types:

Conversions attributedConversions not attributed
EmailSlack Message
Twilio SMSCreate or update person action
Customer.io Push Notifications
Customer.io In-app Messages
Webhooks1

Slack and Create or update person actions are often internal or used for analytics purposes; they don’t always send messages to end-users. For that reason, we don’t attach conversions to them. You can enable webhook conversions on individual webhook actions.

Set up a conversion goal

You can set a goal when you create a campaign or add it to campaigns you’ve already created. However, if you set a conversion goal for a live campaign, it will only apply to people who enter the campaign after you set the goal. You cannot apply goals retroactively to people who’ve already entered or completed the campaign.

In the Goal & Exit step of your campaign:

  1. Select Set goal and set up your conversion goal.

  2. Select the type of conversion goal—performs event, enters segment, or leaves segment.

    1. (Optional) If your conversion goal is an event, click Add filter to ensure that your event contains (or doesn’t contain) specific properties or values before counting a conversion.

      The image is of the goal and exit tab during campaign creation. The Add event data filter is highlighted below the goal on the middle of the page.
      The image is of the goal and exit tab during campaign creation. The Add event data filter is highlighted below the goal on the middle of the page.
  3. Select the time frame for the conversion. This determines the maximum amount of time that a person can reach the conversion goal after doing something in the campaign.

  4. Select whether a person can perform the goal after receiving, opening, or clicking a tracked link in a deliveryThe instance of a message sent to a person. When you set up a message, you determine an audience for your message. Each individual “send”—the version of a message sent to a single member of your audience—is a delivery. (i.e. not attempted or failed). A person can meet your conversion goal after:

    • Receiving a message
    • Opening a message

      Message opens may not be reliable for certain message types, like SMS or email, with some clients. You might want to use the receiving or clicking a tracked link in options to ensure more accurate reporting with these message types.

    • Clicking a tracked link in a message

      If a link isn’t tracked, Customer.io can’t know whether or not a person clicks it, and therefore cannot record a conversion. See our page on link tracking for more information.

    goal-and-exit-example-2.png
    goal-and-exit-example-2.png
  5. (Optional) Change criteria under People exit the campaign early when if you want someone to exit the campaign when they achieve the goal, rather than continuing the campaign. There are two exit conditions that include goals: “They achieve the goal” or “They achieve the goal or they stop matching the (trigger segment or) filters.” By default, people do NOT exit a campaign when they achieve the goal, so make sure you change this setting if that’s important to your campaign.

    exit-criteria-with-goal.png
    exit-criteria-with-goal.png
  6. Click Save & Next in the top right to create your campaign’s workflow.

Event-based goals and filters

Events let you track the things that your audience does. You can also set up a filter to limit conversions based on event properties. This lets you make sure that your conversion goal events contain (or don’t contain) specific properties before they’re counted as conversions.

Click Add event data filter under the goal to begin. You can join multiple conditions depending on whether you select all or at least one in the dropdown “with x of the following event attributes:”

  • All: all conditions need to be true to achieve the goal. Click Add event data filter to create another statement in an AND conditional, if you need.
    add-event-data-filter-AND.png
    add-event-data-filter-AND.png
  • At least one: only one condition must be true to achieve the goal. Click Add event data filter to create another statement in an OR conditional, if you need.
    add-event-data-filter-OR.png
    add-event-data-filter-OR.png

 Event-based conversions are based on processing time, not timestamps.

We mark a delivery associated with an event-based goal as converted when we receive the event. You cannot backdate an event (with a timestamp) so that it triggers a conversion. For example, if you send an event outside the conversion time window, but it has a timestamp that would’ve fallen within the window, we won’t count that conversion.

Why filter by event data

You can compare properties from the conversion event to a person’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. or even to properties from the incoming trigger event. This helps you make sure conversions are attributed to the exact data relevant to your campaign and each person’s journey.

For example, imagine you run online courses, and you want to start a campaign when a person begins one of your classes. Your objective is to help a person finish the course they started, so you want to record a conversion when the person finishes it. If you relate events by a course_id, you can determine when someone has finished the course they started and mark a conversion!

An event-triggered campaign where the goal is to perform an event and the filters show the triggering event data being compared to the goal event data.
An event-triggered campaign where the goal is to perform an event and the filters show the triggering event data being compared to the goal event data.

In this example is an event-triggered campaign with a frequency of “Every re-match.” This means a person can enter this campaign for each course they start. It’s helpful then to set the course_id of the event associated with the goal to the course_id of the event that triggered the campaign because it ensures the conversion is consistent with each journey.

Segment-based goals

 If you capture events, try an event-based goal.

Segments let you track conversions based on people’s attributes, which is useful if you don’t have an integration that sends events. You can add people to segments based on events, too, but if you already capture events, you may find it easier to simply set up an event-based conversion goal.

You can set a goal based on whether someone “enters a segment” or “leaves a segment.” If you choose “enters segment,” we check whether a person is IN the segment. If you choose “leaves segment,” we check whether a person is NOT IN the segment.

Consider that a person can be IN or NOT IN a segment before they enter your campaign:

  • If a person already matches your conversion goal segment criteria when they enter your campaign, and progress through the campaign, then messages that you send to that person won’t record a conversion.
  • If the campaign has the exit criteria, “They achieve the goal,” people will enter the campaign then exit before any action because they already meet the conversion goal criteria.
  • We calculate if someone is NOT IN a segment when they’ve never belonged to the segment as well as when they leave a segment; this means “exit segment” corresponds to people who have never belonged to the segment and who left the segment they belonged to.

 Add your conversion segment as a filter to your campaign trigger.

If you use a segment as your conversion goal, you might want to add your segment as a filter for your campaign so only people who have not performed the goal enter the campaign. For instance, if your goal is “leaves segment: Has not recently logged in” then you would add a segment filter of “IN: Has not recently logged in.” This way, only logged in users enter the campaign. For segment-triggered campaigns, try to incorporate the filter into the trigger itself.

Conversion timing

A person can achieve your conversion goal after they receive, open, or click a tracked link in a message. Event conversions are counted based on when an event arrives at Customer.io not the timestamp in the event.

If you allow conversions after receiving messages, conversions will occur in the order that you send messages. For example, if a person receives two messages, and achieves your conversion goal within your time frame of both messages, we’ll attribute the conversion to the second message—the most recently received message.

If you set conversions to occur after opening or clicking a tracked link in messages, people will achieve your goal against the most recent message that they opened or clicked.

flowchart LR z[1st message]-->b y[2nd message]-->b b{does person match
conversion goal?} b-->|yes|c{are they within
the time window?} c-->|yes|d{which message did
person open last?} c-.->|no|e[message/journey is
not converted] b-.->|no|f[message/journey is
not converted] d-.->g[If person opened 1st message
last, the 1st message converts.] d-.->h[If person opened 2nd message
last, the 2nd message converts.]

Exit conditions

By default, a person continues through a campaign until they stop matching the campaign trigger (segment-triggered only) or filter criteria—even if they perform your campaign’s goal action. However, you might not want a person to continue a campaign if they achieve the goal of the campaign. You can change these settings under People exit the campaign early when in the Goal & Exit step when setting up your campaign.

These are your options for exit conditions:

  • They achieve the goal: This setting causes people to exit your campaign after they perform the conversion action (your audience performs an event, enters a segment, or leaves a segment) within a certain timeframe of receiving a message.

  • They stop matching the trigger segment or filters: If a person stops matching the trigger or filter criteria, see below for how we evaluate exit conditions.

    • For campaigns not triggered by a segment (event, form, etc.), triggers are not included in the exit criteria. This option will show as They stop matching the filters.
  • They achieve the goal OR they stop matching the trigger segment or filters: In this case, a person exits the campaign after they perform your conversion goal within a timeframe of receiving a message OR they stop matching the campaign’s trigger or filter criteria.

    • For campaigns not triggered by a segment (event, form, etc.), triggers are not included in the exit criteria. This will show as They achieve the goal or they stop matching the filters.
  • People don’t exit early, they move through the entire workflow: People won’t exit your campaign early. They’ll complete their entire journey, even after they meet your goal or stop matching your campaign’s trigger or filter conditions during their journey.

How we evaluate exit conditions

We evaluate exit conditions before people enter your campaign and throughout their journeys based on whether there’s a goal, trigger, or filter to check.

  • If your exit conditions include triggers and filters, we check whether people stop matching them before actions (message delivery, attribute updates, manual segment updates, collection queries, create event actions, and batch updates).

    • For example, you may want to send product recommendations to people who have not performed a purchase event in the past 30 days. You want people to exit the campaign when they make a purchase. This means people would exit when they stop matching the trigger (has not performed a purchase recently), which we evaluate before the next workflow action.
  • If your exit conditions include goals, we check whether people achieve the goal criteria after actions that cause pauses in their journeys (wait until, time window, time delay, attribute updates, and collection queries).

    • For example, if your campaign notifies a person about items they left in their shopping cart, you may want them to exit after they purchase these items. You can set people to exit the campaign if they’ve completed their purchase (the goal, in this case). They would exit after the next pause in the workflow.
    set your campaign exit conditions to determine when people quit their journeys
    set your campaign exit conditions to determine when people quit their journeys
Copied to clipboard!
  Contents
Is this page helpful?
Chat with AI