GuidesAPI ReferenceRelease Notes
HomeLog InHome
Guides

Reporting changes to expect

Heads up:

Preliminary pre-release documentation, subject to change without notice. The full list of properties on each event isn't published yet.

Updated on September 16, 2026.

Some metrics move when you upgrade to the unified events schema, even though nothing in your pipeline fails. The events still arrive, the dashboards still render, and the numbers mean something different. Use this page to brief whoever owns your reporting, and to reset baselines before anyone reads a schema change as a product trend.

For the payload changes behind these shifts, see Migrate to the unified events schema.

Metrics that shift

MetricWhat changesWhat to do
Call to action impressionscta_shown is a boolean on the start event, so it counts once per content item. cta_visible counted every appearance.Expect impressions to drop and click-through rate to rise. Reset the baseline at the upgrade date.
Search-attributed volumeSearch identifiers ride every player event for the rest of the session, not just the start event, so far more events are attributed to search.Count unique search_session_id values for sessions rather than counting events. Session counts stay comparable.
Story completionstory_completed means one Story finished. The trigger previously depended on whether another Story followed, so in a playlist watched all the way through, only the last Story reported completion.Expect completion volume to rise and skip to fall. skip now means the Viewer skipped. For playlist completion, use remaining_unread_count = 0.
Story consumption splitstory_page_navigation_type now comes from the action that caused the transition. Timer-driven advances previously reported manual.Expect a large shift toward automatic. Don't read it as a change in Viewer behavior, and treat the historical split as not comparable.
Watched-to-the-end ratesstory_page_duration_viewed_percent can now reach 100, and it's a decimal rather than a truncated integer.A metric thresholded at = 100 returned nothing before and starts working. One thresholded at >= 99 now also catches genuine 99 % views.
Viewed percentageThe value covers the viewing segment since the matching start, not the whole item across a background or focus split.Sum the segments of one session ID for total exposure. On Android this is a larger change, because the value used to be the absolute playhead position.
Description engagementdescription_expanded and description_collapsed fire at most once per Moment view, where they used to fire on every tap.The metric changes meaning from description taps to Moment views where the description was opened. Raw tap volume isn't recoverable. Rates against moment_start stay valid.
Tab and widget loadwidget_load and tab_data_load fire once per identifier per session, and not on a fetch that returns nothing.Expect lower counts on load events.
Container data loadtab_data_load replaces container_data_load and also fires for tabbed containers, which emitted nothing before.Expect higher volume than the event it replaces, with no change in Viewer behavior.
Widget clickswidget_click now fires on every real tap, including when your own click handler intercepts it and the SDK opens no player.With custom click handling, expect a step change in click volume and click-through rate.
App resume countsapp_foreground is now reserved for a real app resume. In-app covers and returns, such as a host tab switch or the call to action web view, report focus_regained.An "app resumed" count that included tab switches and web view dismissals drops.
Playlist position and totalsIndexes and totals counted the ads the player interleaves, so totals ran high and indexes shifted once an ad preceded the current item. They describe content only now.Expect totals to fall slightly. next_video_id no longer returns an ad's ID.
Shareshare_click fires when the share sheet or chooser actually opens, not on the tap. On Android the chooser is a separate activity, so a share also produces a background and foreground pair.Compare share metrics within a platform rather than across platforms.
SeekA rapid burst of seeks is one aggregated event rather than one per tap or tick.Expect fewer events for the same Viewer activity.
Inline player closesLeaving fullscreen back to inline is now a viewing mode transition rather than a close.Counts of close_button on inline-hosted players drop. The session stays one session.
AdsAd events are part of the tracking plan now, on the same envelope and trimmed per event.Expect ad events in reports that previously excluded them.
Interaction attributioninteraction_view and interaction_answer carry referring, so interaction engagement is attributable to the widget, data source, and search journey.Attribution that previously stopped at the player now covers interactions.
Composite feed sourcesreferring.data_source_type on per-item events names the source the item actually came from. Every event in a composite session used to say composite.composite now appears only on list-level events such as widget_load and tab_data_load.
Search suggestion click-throughsearch_suggestions_shown is removed. search_opened fires when the search screen opens. search_suggestions_clicked fires when a Viewer taps a pre-search recommendation tile, before they submit a query.Count search_suggestions_clicked against search_opened.

Metrics you can no longer compute

MetricWhy
Forced against Viewer-initiated pause ratioforced_playback_play and forced_playback_pause, and their ad variants, are removed with no replacement. A pause caused by your app, a tab switch, an ad, or backgrounding produces no event.
Press and hold against tap pauseplayback_action_method is removed everywhere.
Exact audio toggle countsaudio_state rides every event rather than firing its own, so a toggle between two events is invisible. Treat a toggle count as a lower bound.
Interaction question wordinginteraction_text is removed. Join to your CMS by interaction_id if you need it.

Historical data

On iOS, an ad interrupting a video reported the video's identity in the moment_id and moment_title fields, and an ad interrupting a Moment reported no content identity. If you segmented ads by reading moment_id, your historical video-ad volume sits with Moment ads. The Story consumption split in Metrics that shift isn't comparable with data from before the upgrade.

Before you upgrade

  • Mark the date. Record when each platform moves to the unified schema so you can annotate every affected chart. The platforms won't move on the same day.
  • Snapshot your baselines. Capture current values for click-through rate, search attribution, Story completion, description engagement, and share, so you can tell a schema change from a real change.
  • Check saved segments. A segment that filters on a legacy value keeps running and quietly matches nothing.
  • Decide what a mixed window means for you. From October 2026 until January 2027, some apps emit the unified schema and some still emit legacy, because each SDK version runs one schema. Queued legacy events can still arrive after an upgrade. Split your charts by api_scheme_version if a mixed trend would mislead.

Related


Did this page help you?