Create a Key Moment
Define the lifecycle moments Appcues measures, targets, and reports on.
Table of Contents
A Key Moment is a named point in your users' lifecycle worth measuring, such as a purchase or a plan upgrade. You build one from the events your product already sends, from a set of conditions on the user, or from both. Describe the moment to Appcues AI in a chat and let it create the Key Moment for you, or fill in the form yourself in Settings. Either way, a Key Moment works in a campaign or tactic objective, as a targeting condition, and as a metric in dashboards.
When to use a Key Moment
Key Moments sit on top of the events your product already sends. Defining one tells Appcues that a specific moment matters. Objectives come from your Key Moments, so you pick from a short list you named rather than your whole event list.
Define one whenever you want to turn a real-time event, or a set of conditions, into a named moment you can reuse. For example:
- A purchase or renewal
- A feature being adopted
- A support ticket being resolved
- A milestone being re-achieved
- A user state change
Conditions let you build more than one Key Moment from the same underlying event. Point two Key Moments at order_processed and give each its own conditions:
- Trial conversion —
order_processedwhere the user's plan containsTrial - Expansion purchase —
order_processedwhere the user's plan containsPaid
Same event, two different moments, each one available for use in a campaign objective.
One Key Moment, several events
A Key Moment can point at more than one event. If several different events all count as the same accomplishment, list them all and the Key Moment fires when any one of them arrives.
Say users can share content three ways, and your product sends share_via_link, share_via_email, and share_via_slack. A single Content shared Key Moment covering all three gives you one name to reach for in a chart or a campaign objective, instead of remembering all three event names every time.
Prerequisites
- If you want the Key Moment anchored to an event, your product has to be sending that event already. Trigger it in your app, then open your Events page in Studio to confirm it shows up. See Track events in your web app if it doesn't. This applies to both methods below.
New Click to Track events come with history. If the event doesn't exist yet, create it as a Click to Track event and Appcues backfills past occurrences from raw event recording, going back to the date raw event recording was enabled on your account, or your install date if that is later. You don't have to wait weeks for data to accumulate before the event is useful. This is web only. Backfill runs when you create an event and again whenever you change its selector. See Raw Event Recording.
Create a Key Moment with Appcues AI
Describe the moment you want to measure and Appcues AI checks whether an existing Key Moment already covers it. If none does, it asks for the event name your product sends when it happens, as well as any important context or criteria, and creates the Key Moment from it.
This also happens during campaign setup, when Appcues AI confirms how success will be measured. A Key Moment created that way isn't tied to that campaign. It lands in Settings > Key Moments like any other, and any Campaign can reuse it. See Write briefs and set objectives.
To adjust the events, conditions, or name afterward, open it from Settings > Key Moments and click Edit.
Decide how the Key Moment should fire
You fill in the same form either way, and one question decides how you fill it in: can this moment happen to the same user more than once?
| If you need | Set up | It fires |
|---|---|---|
| A count you can trend over time | One or more Events, plus any conditions | Every time any of those events arrives and the conditions are true |
| A one-time milestone, yes or no per user | Conditions only, no Event | Once, the first time the conditions are true |
With no event, every condition is treated equally and no single moment acts as the trigger. "User has sent more than 10 messages" is a conditions-only Key Moment: it fires at the exact moment that state is first reached, and never again. For a true one-time milestone, that's simpler and enough.
A conditions-only Key Moment can't produce volume or rate over time. If you need a number you can chart, anchor it to an event.
Create a Key Moment in Settings
- Click your account at the bottom of the left sidebar, then click Settings.
- Click Key Moments, then click + Create new. The Create a Key Moment page opens.
- Enter a Key moment name. Use the words your team already says out loud, such as
Trial order placed. - Check the Slug. Appcues fills it in from the name you entered, such as
trial_order_placed. Edit it if you want something different. This is the identifier that queries, APIs, and webhooks reference.
The slug is permanent. You can rename the display name later, but the slug can't be edited once you click Save.
- Add a Description. It's optional, but it's the second column of the Key Moments list, so it's how teammates tell similar Key Moments apart. "New trial user places an order" is a good description.
- Under Trigger > What action counts?, click Select event and choose an event that counts for this Key Moment. Skip this to build a conditions-only Key Moment.
- To count a second event, click + Add event and pick it the same way. Repeat for each one. Any one of the events you list is enough to count. + Add event stays disabled until every event card on screen has an event picked, so you can't leave a blank card behind.
- To require specific values on an event itself, click Add attribute conditions on that event's card, then fill in Only count when event attributes match. Event attributes are extra context your product sends along with the event, as in
Appcues.track("trial_order_placed", { amount: 49, currency: "USD" }). Ontrial_order_placed, you could requireamountgreater than0so refunds and zero-value orders don't count. Attribute conditions belong to the card you set them on, not to the Key Moment, so each event gets its own. - Under Conditions > Who counts?, set the state a user has to be in for the event to count. Pick the condition type, choose what it checks, then choose an operator and a value. Example:
-
Segment checks whether the user is in a segment you've already built, such as
Segment>Enterprise trials>matches. Use this instead of rebuilding the same targeting logic here. -
User Property checks a property of the user, such as
plan>contains>Enterprise. -
Event checks whether the user has done another event. This is how you require something to have already happened, such as
signup_completed.
- Click Add condition for each additional condition. Use the And / Or control beside the conditions to set how they combine. Conditions stacked with And must all match, and conditions joined with Or only need one to match. The whole set has to evaluate to true for the Key Moment to be recorded.
- Click Save.
Saving a Key Moment that has events but no conditions opens a Save without conditions? modal listing every event you picked. It's confirming that the Key Moment will fire on every occurrence of those events, for every user. Click Save to go ahead, or Cancel to add conditions first.
How the event and the conditions work together
The event is the trigger: it decides when Appcues evaluates the Key Moment and what counts as one occurrence. The conditions are ordinary state checks, the same as conditions anywhere else in Appcues. That leaves three things: how multiple events combine, when the conditions are checked, and which control filters what.
How multiple events combine
Multiple events are joined by OR. Any one of them fires the Key Moment, and there's no way to require that a user did all of them.
Every matching event is its own occurrence, so a user who shares by link and then by email fires Content shared twice. That's not something to correct for. Whether those two firings read as one thing or two is decided by the measure, not by the Key Moment: a headcount measure like Unique users counts the person once, a volume measure like Event count counts both.
See Write briefs and set objectives for the measures available on a campaign objective, and Analytics Dashboards overview for the metrics available on a chart.
Where you put a filter decides how far it reaches:
| Filter | Applies to |
|---|---|
| Attribute conditions on an event card | That event only |
| The Conditions section | The whole Key Moment, whichever event fires |
So Content shared can require visibility is public on share_via_link, require nothing extra on share_via_email, and still hold both to a plan contains Enterprise condition.
When conditions are checked
Because the conditions are checked when the event arrives, they have to already be true by then. Anything you put in Conditions has to happen before the event does.
Say your Key Moment is anchored to order_processed, with one condition: the user has done signup_completed.
| What the user did | Does it count? |
|---|---|
signup_completed, then order_processed
|
Yes. Signup was already done when the order arrived, so the condition was true. |
order_processed, then signup_completed
|
No. The condition was false when the order arrived. |
That user isn't blocked forever. Only the early order is lost, and their next order_processed after completing sign up counts normally.
With no event, none of this applies. The Key Moment fires as soon as the conditions are true, whichever happened first.
Conditions can't be put in a sequence yet. You can require that a user has done both
signup_completedandonboarding_completedbefore the event, but not that they did those two in that order. All conditions are checked at the same instant, so there's no "before" between them.
What each control filters
Add attribute conditions to filter the event itself. Add a Condition to filter the user.
| Control | Filters on | Example |
|---|---|---|
| Add attribute conditions, on an event card | Properties of that triggering event |
order_processed where amount > 0
|
| The Conditions section | The user's state when the event fires | Plan contains Enterprise
|
An event attribute describes one occurrence and changes every time. A user property describes the person. amount is an attribute of a single order; plan is a property of the customer placing it.
Event attributes aren't visible in the UI, so you need to type them directly.
Confirm it worked
- The Key Moment appears on the Settings > Key Moments page with a Status of Active.
- It's selectable when you set a campaign or tactic objective.
- Counting starts from the moment it's saved. A Key Moment doesn't pick up events that fired before it existed.
Use a Key Moment
Once saved, a Key Moment can:
- Set the objective a campaign or tactic is measured against.
- Target content to users the moment they complete it.
- Report volume and rate over time, broken down by segment or other dimensions.
- Act as a step in a funnel.
- Feed outcome reporting across Acquisition, Activation, Retention, Engagement, and Feature Adoption.
Key Moments are account-wide. They live in Settings > Key Moments, so any campaign or tactic can reuse one.
Edit or deactivate a Key Moment
On the Settings > Key Moments page, click the ... menu at the end of any row.
- Edit reopens the Key Moment so you can change the name, description, events, and conditions. The slug stays locked.
- Deactivate stops the Key Moment from counting new events.
Every event you added is there when you reopen it, each with its own attribute conditions. To drop one, click the trash icon on its card. Removing the last remaining event clears that card instead of deleting it, which is how you turn an event-anchored Key Moment into a conditions-only one.
Picking a different event on a card clears that card's attribute conditions. Set them again after you switch.
Use Search key moments at the top of the page to find one by name once the list grows.
If your Key Moment isn't counting
Work through these in order.
The event isn't reaching Appcues
Trigger the event in your app, then open your Events page in Studio and confirm it appears. See Track events in your web app for the full checks. If it doesn't, the problem is upstream in your tracking rather than in the Key Moment. Check that the event name matches exactly, including case and underscores.
Only some of the events are counting
On a Key Moment with several events, each card carries its own attribute conditions. An attribute condition you set on one card doesn't apply to the others, and an event whose attribute condition never matches contributes nothing while the rest count normally. Click Edit and check each card separately.
Switching a card to a different event also clears that card's attribute conditions, so an event you re-picked may now be counting more than you meant it to.
A condition wasn't true when the event fired
The event is the trigger, so the conditions get checked at that moment. If the user property you're filtering on gets set after the event fires, that occurrence doesn't count, and meeting the condition later won't count it retroactively. Check the user's profile to confirm the property is populated, then confirm your product sends it before the event rather than after.
To narrow it down, click Edit, remove the conditions, and confirm the event alone counts. Add them back one at a time until counting stops. The last condition you added is the one blocking it.
An attribute value doesn't match
An attribute condition that expects a number won't match a value your product sends as a string. Values are case-sensitive. Event attributes aren't visible in the UI, so check the Appcues.track() call in your code, or your browser's network tab, to see what's actually being sent.
A conditions-only Key Moment already fired for that user
A Key Moment with no event fires once per user, the first time all its conditions become true, and never again. If the user already hit that point, meeting the conditions a second time changes nothing. Anchor the Key Moment to an event if you need it to count more than once.
The Key Moment is deactivated
Check the Status column on the Settings > Key Moments page. A deactivated Key Moment stops counting new events.
Still stuck?
Collect the following and contact support:
- A screenshot of the Key Moment's configuration.
- A User ID you expected to count, and roughly when they did it.