Analytics tracking plan
This tracking plan covers the Segment analytics events sent by every Apollos product. It is the reference for every event and property we track, so our analytics tools stay consistent and the whole team reads the data the same way.
How it works
Apollos sends analytics through Segment, which forwards each event to BigQuery, Amplitude, and (for some events) HubSpot. Each event page lists where that event goes, which properties it carries, and an example call.
Each event page also has a status box:
- Sent today: the apps send this event now. Where the code differs from the spec, the status box says how.
- Not sent yet: the event is specced but no app sends it yet.
- Not pursued: we decided against this event. The page is kept for reference.
Church staff looking for a quick lookup table should start with the Analytics event reference.
Helpful resources
- About golden funnels: the idea behind the golden funnel events.
- Segment Specs documentation: ready-made Segment events that can be enriched.
- Segment Common Fields documentation: default fields included in every Segment event.
- Segment Object Action event naming: best practices for naming events.
- Segment data collection best practices: the "why" behind this strategy.
Event naming conventions
All event names use the Object Action format in Proper Case:
- Examples:
Product Viewed,Checkout Completed,User Signed Up
All event properties use snake_case:
- Examples:
church_slug,user_id,title
Poll events are an exception: they use camelCase property names (for example pollId) to match the implementation for that feature (APO-7996).
Default custom properties
Segment adds its own default properties (Common Fields) to every event. The properties below are not part of Segment's spec. They are unique to Apollos, and every event should include them in its properties block unless the event page says otherwise.
| Property | Type | Description |
|---|---|---|
user_id | String | The internal unique identifier of the individual performing the event. |
group_id | String | The internal unique identifier of the organization the individual is associated with (the church slug). |
email | String | The email of the individual performing the event. |
is_logged_in | Boolean | Whether the user is logged in while performing the event. |
Implementation example:
analytics.track("Button Used", {
label: "create-your-own-hero",
action: "Tapped",
component: "Content Card",
component_url: "https://baymax-healthcare.com/",
url: "https://hiro-robotics-lab.com/",
title: "Big Hero 6 Saves the Day",
referrer: "https://hiro-and-baymax-journey.com/",
user_id: "2087903",
group_id: "287",
email: "hiro.hamada@roboticslab.com",
is_logged_in: true,
});Event index
Foundational events
These events cover most actions across all products. Almost all of them are Segment spec events, with small additions that make them easier to analyze downstream.
| Event | Status |
|---|---|
| Identify / Group | Sent today |
| Page / Screens | Sent today |
| Video Played | Not sent yet |
| Push Notification | Partly sent |
| Deep Link | Partly sent |
| Button Used | Sent today |
| Form Submitted | Sent today |
| Video Playback | Not pursued |
| Video Content | Not pursued |
Golden funnel events
These are the key metrics Apollos uses to measure success. See About golden funnels.
| Event | Product | Status |
|---|---|---|
| Signup Completed | Apollos, Admin | Sent today |
| Daily Habits Completed | Apollos | Sent today |
| Community Joined | Apollos | Sent today |
| Prayer Completed | Apollos | Not sent yet |
| Donation Completed | Apollos | Sent today |
| Comment Saved | Apollos | Sent today |
| Content Created | Admin | Not sent yet |
| Video Completed | Apollos | Not sent yet |
| Community Shared | Apollos | Not sent yet |
| Community Engaged | Apollos | Not sent yet |
| Content Viewed | Apollos | Sent today |
| Comment Submitted | Apollos | Not sent yet |
| Reaction Submitted | Apollos | Not sent yet |
| Next Step Completed | Apollos | Not pursued |
Poll events
These events track poll interactions in Apollos on mobile and web.
| Event | Status |
|---|---|
| Poll Viewed | Sent today |
| Poll Vote Submitted | Sent today |
| Poll Vote Failed | Sent today |
| Poll Option Selected | Sent today |