# Deprecated: Checkpoints

{% hint style="info" %}
**Checkpoints** are pre-defined stages that users can reach when they pass through a Flow.
{% endhint %}

### What are checkpoints used for? <a href="#id-278b25c7-3ff2-47d3-9168-30903e05a5df" id="id-278b25c7-3ff2-47d3-9168-30903e05a5df"></a>

* Triggering things like data outputs or custom code
* Analytics: segmenting users, funnels, user timelines etc

### What checkpoints can I add? <a href="#d86fe902-bf2d-4e2c-aee9-81a3c05eabb0" id="d86fe902-bf2d-4e2c-aee9-81a3c05eabb0"></a>

Savvy has a list (see below) of pre-defined checkpoints that you can add to stages of a Flow. We recommend using these since Savvy 'understands' their meaning so can report them back to you in analytics more appropriately.

A few of these are automatically added to all Flows, so you don't need to add them yourself - see the "Automatically added" label in the table below.

You can also define your own custom checkpoints.

### How should I name custom checkpoints? <a href="#id-2708eb23-2f8c-410b-81b5-335bb9649131" id="id-2708eb23-2f8c-410b-81b5-335bb9649131"></a>

Checkpoints are always stored in `snake_case` (their "key") but displayed in `Title Case` (their "friendly name"). Checkpoints are always an action in the past tense and describe what the user has just done.

For example, `began_flow`, `booked_meeting` or `reached_triage_page`.

### Where can checkpoints occur? <a href="#id-9d5f42e5-7445-4d1f-8407-870238f295cd" id="id-9d5f42e5-7445-4d1f-8407-870238f295cd"></a>

Checkpoints can be triggered when:

* A user reaches a pages
* A user 'completes' a page (i.e. moves successfully on to the next page)
* A user clicks a custom button

Note that some events can trigger multiple checkpoints. For example, opening a popup containing a Flow would trigger both `opened_popup` and `viewed_flow`.

### How should I decide whether a checkpoint is worth adding? <a href="#id-1fbb3b4c-9052-44f5-bb4d-8e14567bcb4a" id="id-1fbb3b4c-9052-44f5-bb4d-8e14567bcb4a"></a>

An ideal set of checkpoints in a Flow will correspond to the steps in the funnel that you are trying to measure. Most funnels are 3-6 steps long and contain only key events, not every single page change.

However, you may be considering extra checkpoints, such as:

* Some checkpoints, marked as "Optional Detail", represent a less-prominent event such as completing a certain field. We suggest adding these if collecting a particular field marks a significant event in your funnel.
* Sometimes the same event can be described in multiple ways - for example, `submitted_email` might be equivalent to `reached_triage_page`. We suggest only including both of these if you have logic that routes different users to different places and causes certain users to trigger one but not both of these checkpoints (e.g. the email page is hidden for some users).

It's up to you whether to add more detailed checkpoints - you're free to add as many events as you can. The downside is it can risk overcomplicating or adding noise to your funnel, but it can be useful if you want to dive deeper into funnel analytics later on.

And don't forget that Savvy tracks all Flow pages that a user reaches by default - you can filter by these and view them as events on user timelines.

## Pre-defined Checkpoints <a href="#f844e32e-5449-4a33-80f6-ced6a7ca4fff" id="f844e32e-5449-4a33-80f6-ced6a7ca4fff"></a>

For automatically added checkpoints, the "Triggers when..." column describes precisely what will trigger it. For other checkpoints, it's a suggestion for how best to define the trigger if you add it to a Flow.

| Key                                                                                                                                                                                                                                                                                                                                                                           | Friendly Name                | Triggers when...                                                                                                                                                                                                                 | Labels              |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- |
| [loaded\_flow](https://app.gitbook.com/s/-MaGcfSakhqdHaWyb0T_/data-+-integrations/Export-85ace5e1-aa61-4f4b-9aeb-ad2e16ac6f16/Flows%20Documentation%20d89c4d81f1f64f91ba42ca864be6c7d5/Checkpoints%20d4b1f281106e4cbd9ff020f4280f5531/Checkpoints%20ba68e2e4c70b45a19e574b698bf9a291/loaded_flow%204b891ac6411649fe90151dd0dd8d481d.html)                                     | Loaded Flow                  | Any page containing the Flow (even hidden behind a popup) loads                                                                                                                                                                  | Automatically Added |
| [opened\_popup](https://app.gitbook.com/s/-MaGcfSakhqdHaWyb0T_/data-+-integrations/Export-85ace5e1-aa61-4f4b-9aeb-ad2e16ac6f16/Flows%20Documentation%20d89c4d81f1f64f91ba42ca864be6c7d5/Checkpoints%20d4b1f281106e4cbd9ff020f4280f5531/Checkpoints%20ba68e2e4c70b45a19e574b698bf9a291/opened_popup%20f4d44dcfd94040398aad39f93962bece.html)                                   | Opened Popup                 | A popup containing the Flow is opened (must use Flows' built-in popup functionality)                                                                                                                                             | Automatically Added |
| [viewed\_flow](https://app.gitbook.com/s/-MaGcfSakhqdHaWyb0T_/data-+-integrations/Export-85ace5e1-aa61-4f4b-9aeb-ad2e16ac6f16/Flows%20Documentation%20d89c4d81f1f64f91ba42ca864be6c7d5/Checkpoints%20d4b1f281106e4cbd9ff020f4280f5531/Checkpoints%20ba68e2e4c70b45a19e574b698bf9a291/viewed_flow%20e72f7bb0828d4fc4b27ee9115eda96fa.html)                                     | Viewed Flow                  | The Flow is scrolled into view, or inside a popup that is opened                                                                                                                                                                 | Automatically Added |
| [interacted\_with\_flow](https://app.gitbook.com/s/-MaGcfSakhqdHaWyb0T_/data-+-integrations/Export-85ace5e1-aa61-4f4b-9aeb-ad2e16ac6f16/Flows%20Documentation%20d89c4d81f1f64f91ba42ca864be6c7d5/Checkpoints%20d4b1f281106e4cbd9ff020f4280f5531/Checkpoints%20ba68e2e4c70b45a19e574b698bf9a291/interacted_with_flow%20c34dbde0ef8745eb941326019ff44509.html)                  | Interacted with Flow         | The user clicks on any dynamic elements or field within the Flow (e.g. an input field is focused or a button is clicked)                                                                                                         | Automatically Added |
| [began\_flow](https://app.gitbook.com/s/-MaGcfSakhqdHaWyb0T_/data-+-integrations/Export-85ace5e1-aa61-4f4b-9aeb-ad2e16ac6f16/Flows%20Documentation%20d89c4d81f1f64f91ba42ca864be6c7d5/Checkpoints%20d4b1f281106e4cbd9ff020f4280f5531/Checkpoints%20ba68e2e4c70b45a19e574b698bf9a291/began_flow%20713b5f2077624ebeac5f9302b32a09f8.html)                                       | Began Flow                   | The user takes a significant first step in the Flow. Can sometimes be the same as `interacted_with_flow`, for example if the first question is an OptionSelector.                                                                |                     |
| [submitted\_flow](https://app.gitbook.com/s/-MaGcfSakhqdHaWyb0T_/data-+-integrations/Export-85ace5e1-aa61-4f4b-9aeb-ad2e16ac6f16/Flows%20Documentation%20d89c4d81f1f64f91ba42ca864be6c7d5/Checkpoints%20d4b1f281106e4cbd9ff020f4280f5531/Checkpoints%20ba68e2e4c70b45a19e574b698bf9a291/submitted_flow%2042c3b75d93424f71bb5940d4549011f5.html)                               | Submitted Flow               | The user completes the main submission action of a Flow, usually involving sending data somewhere like a CRM. Often triggered at the same time as a more specific checkpoint such as `subscribed_to_emails` or `booked_meeting`. |                     |
| [submitted\_request](https://app.gitbook.com/s/-MaGcfSakhqdHaWyb0T_/data-+-integrations/Export-85ace5e1-aa61-4f4b-9aeb-ad2e16ac6f16/Flows%20Documentation%20d89c4d81f1f64f91ba42ca864be6c7d5/Checkpoints%20d4b1f281106e4cbd9ff020f4280f5531/Checkpoints%20ba68e2e4c70b45a19e574b698bf9a291/submitted_request%208343ece6232545c39aca3b320f9c6b36.html)                         | Submitted Request            | The user submits a request or message, such as completing a Contact Us form.                                                                                                                                                     |                     |
| [subscribed\_to\_emails](https://app.gitbook.com/s/-MaGcfSakhqdHaWyb0T_/data-+-integrations/Export-85ace5e1-aa61-4f4b-9aeb-ad2e16ac6f16/Flows%20Documentation%20d89c4d81f1f64f91ba42ca864be6c7d5/Checkpoints%20d4b1f281106e4cbd9ff020f4280f5531/Checkpoints%20ba68e2e4c70b45a19e574b698bf9a291/subscribed_to_emails%2099c36ec77e5747c08b912eab19780509.html)                  | Subscribed to Emails         | The user subscribes to email updates such as a newsletter                                                                                                                                                                        |                     |
| [booked\_meeting](https://app.gitbook.com/s/-MaGcfSakhqdHaWyb0T_/data-+-integrations/Export-85ace5e1-aa61-4f4b-9aeb-ad2e16ac6f16/Flows%20Documentation%20d89c4d81f1f64f91ba42ca864be6c7d5/Checkpoints%20d4b1f281106e4cbd9ff020f4280f5531/Checkpoints%20ba68e2e4c70b45a19e574b698bf9a291/booked_meeting%20d46dcb99ed2843a6b3d486810053b839.html)                               | Booked Meeting               | The user books a meeting using the Calendly or HubSpot integrations                                                                                                                                                              |                     |
| [collected\_email](https://app.gitbook.com/s/-MaGcfSakhqdHaWyb0T_/data-+-integrations/Export-85ace5e1-aa61-4f4b-9aeb-ad2e16ac6f16/Flows%20Documentation%20d89c4d81f1f64f91ba42ca864be6c7d5/Checkpoints%20d4b1f281106e4cbd9ff020f4280f5531/Checkpoints%20ba68e2e4c70b45a19e574b698bf9a291/collected_email%20a5eb243b2b6b4c2bbba1e8a74c122dff.html)                             | Collected Email              | The user completes an email field                                                                                                                                                                                                | Optional Detail     |
| [collected\_name](https://app.gitbook.com/s/-MaGcfSakhqdHaWyb0T_/data-+-integrations/Export-85ace5e1-aa61-4f4b-9aeb-ad2e16ac6f16/Flows%20Documentation%20d89c4d81f1f64f91ba42ca864be6c7d5/Checkpoints%20d4b1f281106e4cbd9ff020f4280f5531/Checkpoints%20ba68e2e4c70b45a19e574b698bf9a291/collected_name%20785b7743fd87402880ff7db0f1520684.html)                               | Collected Name               | The user completes a name field (or first\_name + last\_name fields)                                                                                                                                                             | Optional Detail     |
| [collected\_phone](https://app.gitbook.com/s/-MaGcfSakhqdHaWyb0T_/data-+-integrations/Export-85ace5e1-aa61-4f4b-9aeb-ad2e16ac6f16/Flows%20Documentation%20d89c4d81f1f64f91ba42ca864be6c7d5/Checkpoints%20d4b1f281106e4cbd9ff020f4280f5531/Checkpoints%20ba68e2e4c70b45a19e574b698bf9a291/collected_phone%20aa1f86a64cac452d8e8dc3a835312bed.html)                             | Collected Phone              | The user completes a phone number field                                                                                                                                                                                          | Optional Detail     |
| [collected\_org](https://app.gitbook.com/s/-MaGcfSakhqdHaWyb0T_/data-+-integrations/Export-85ace5e1-aa61-4f4b-9aeb-ad2e16ac6f16/Flows%20Documentation%20d89c4d81f1f64f91ba42ca864be6c7d5/Checkpoints%20d4b1f281106e4cbd9ff020f4280f5531/Checkpoints%20ba68e2e4c70b45a19e574b698bf9a291/collected_org%2076fa839d59564f4b9d75d3d167040006.html)                                 | Collected Org                | The user completes an org/company/business field                                                                                                                                                                                 | Optional Detail     |
| [collected\_address](https://app.gitbook.com/s/-MaGcfSakhqdHaWyb0T_/data-+-integrations/Export-85ace5e1-aa61-4f4b-9aeb-ad2e16ac6f16/Flows%20Documentation%20d89c4d81f1f64f91ba42ca864be6c7d5/Checkpoints%20d4b1f281106e4cbd9ff020f4280f5531/Checkpoints%20ba68e2e4c70b45a19e574b698bf9a291/collected_address%206ff4db6dfab943bcb496a3b73d5ac834.html)                         | Collected Address            | The user completes an address field                                                                                                                                                                                              | Optional Detail     |
| [reached\_triage\_page](https://app.gitbook.com/s/-MaGcfSakhqdHaWyb0T_/data-+-integrations/Export-85ace5e1-aa61-4f4b-9aeb-ad2e16ac6f16/Flows%20Documentation%20d89c4d81f1f64f91ba42ca864be6c7d5/Checkpoints%20d4b1f281106e4cbd9ff020f4280f5531/Checkpoints%20ba68e2e4c70b45a19e574b698bf9a291/reached_triage_page%209d79e48a062f4d2b92a7ad168ff13766.html)                    | Reached Triage Page          | The user reaches the triage page                                                                                                                                                                                                 | Optional Detail     |
| [reached\_email\_page](https://app.gitbook.com/s/-MaGcfSakhqdHaWyb0T_/data-+-integrations/Export-85ace5e1-aa61-4f4b-9aeb-ad2e16ac6f16/Flows%20Documentation%20d89c4d81f1f64f91ba42ca864be6c7d5/Checkpoints%20d4b1f281106e4cbd9ff020f4280f5531/Checkpoints%20ba68e2e4c70b45a19e574b698bf9a291/reached_email_page%20a83d500b1f364b1fb6bfe7e9fb9ce5dc.html)                      | Reached Email Page           | The user reaches the email page                                                                                                                                                                                                  | Optional Detail     |
| [reached\_contact\_details\_page](https://app.gitbook.com/s/-MaGcfSakhqdHaWyb0T_/data-+-integrations/Export-85ace5e1-aa61-4f4b-9aeb-ad2e16ac6f16/Flows%20Documentation%20d89c4d81f1f64f91ba42ca864be6c7d5/Checkpoints%20d4b1f281106e4cbd9ff020f4280f5531/Checkpoints%20ba68e2e4c70b45a19e574b698bf9a291/reached_contact_details_page%20ea8dce82218e46f0b844dcc986a7d556.html) | Reached Contact Details Page | The user reaches the contact details page                                                                                                                                                                                        | Optional Detail     |
| [reached\_book\_meeting\_page](https://app.gitbook.com/s/-MaGcfSakhqdHaWyb0T_/data-+-integrations/Export-85ace5e1-aa61-4f4b-9aeb-ad2e16ac6f16/Flows%20Documentation%20d89c4d81f1f64f91ba42ca864be6c7d5/Checkpoints%20d4b1f281106e4cbd9ff020f4280f5531/Checkpoints%20ba68e2e4c70b45a19e574b698bf9a291/reached_book_meeting_page%208deac0ac37e646c99afa9e89a09178ae.html)       | Reached Book Meeting Page    | The user reaches the book meeting page                                                                                                                                                                                           | Optional Detail     |
| [reached\_results\_page](https://app.gitbook.com/s/-MaGcfSakhqdHaWyb0T_/data-+-integrations/Export-85ace5e1-aa61-4f4b-9aeb-ad2e16ac6f16/Flows%20Documentation%20d89c4d81f1f64f91ba42ca864be6c7d5/Checkpoints%20d4b1f281106e4cbd9ff020f4280f5531/Checkpoints%20ba68e2e4c70b45a19e574b698bf9a291/reached_results_page%204524e38362cb4d4d8601036af1a8e43e.html)                  | Reached Triage Page          | The user reaches the results page (often the same as the triage page)                                                                                                                                                            | Optional Detail     |
