Analytics#
Table of Contents#
- Event Types
- Story Events
- Clip Events
- Sheet Events
- Card Events
- Ad Events
- Playback Events
- Search Events
- Event Data
Showcase examples#
Event Types#
These are the various events which are triggered from within the SDK. Each event is a member of the StorytellerUserActivity.EventType enumeration. Please see the StorytellerDelegates page for details on how to bind to these events.
In the below discussion, "completing" a Page refers to allowing the timer to expire - so this would correspond to watching all of an image or a Poll Page for the duration set for it (default 15s) or watching all of a video.
Story Events#
Opened Story#
This event is recorded in the following scenarios:
- When a user taps on a list item to open a Story
- When a Story is loaded because the previous Story finished
- When a Story is loaded because the user tapped to skip the last Page of the previous Story
- When a user swipes left on a Story to go to the next Story
- When a user swipes right on a Story to go to the previous Story
- When a user is sent directly to a Story via a deep link
Whenever an Opened Story event occurs, event data for storyID, storyTitle, storyIndex, storyPageCount, storyReadStatus, storyPlaybackMode, openedReason, currentCategory, collection, categories, captionsEnabled, actionLinkId, eyebrow, metadata, isMuted and context is returned.
Opened Page#
This event is recorded as soon as a user sees content for a Page.
Opened Page is one of the most important events to track as it is equal to a video start, one of the most important measures of engagement. By tracking this event, you can monitor valuable information about user engagement with your app.
Whenever an Opened Page event occurs, event data for pageID, pageIndex, pageType, storyPlaybackMode, pageHasAction, pageActionType, pageActionText, pageActionUrl, actionLinkId, contentLength, storyID, storyTitle, storyIndex, storyPageCount, currentCategory, collection, openedReason, captionsEnabled, eyebrow, metadata, isMuted and context is returned.
Dismissed Story#
This event is recorded in the following scenarios:
- When a user taps the close button to dismiss the Story
- When a user swipes down to dismiss the Story
- When a user taps back on their device UI to dismiss the Story (Android only)
- When a user taps to skip the last Page of the final Story - this dismisses the Story and exits the Story View
- When a user swipes left on the final Story to dismiss the Story
- When a user swipes right on the first Story to dismiss the Story
- When a user completes the final Page of the final Story and the Story view is dismissed
Whenever a Dismissed Story event occurs, event data for storyId, storyTitle, storyIndex, storyPageCount storyPlaybackMode, pageID, pageIndex, pageType dismissedReason, durationViewed, currentCategory, collection, pagesViewedCount, actionLinkId, captionsEnabled, eyebrow, metadata, isMuted and context is returned.
Skipped Story#
This event is recorded when:
- a user swipes left to go to the next Story
- a user skips the last Page of a Story to go to the next Story
Whenever a Skipped Story event occurs, event data for storyId, storyTitle, storyIndex, storyPageCount storyPlaybackMode, pageID, pageIndex, currentCategory, collection, pageType, actionLinkId, captionsEnabled, eyebrow, metadata, isMuted and context is returned.
Skipped Page#
This event is recorded when a user taps to go to the next Page before completing the current Page.
Whenever a Skipped Page event occurs, event data for storyId, storyTitle, storyIndex, storyPageCount storyPlaybackMode, pageID, pageIndex, currentCategory, collection, pageType, actionLinkId, captionsEnabled, eyebrow, metadata, isMuted and context is returned.
Completed Story#
This event is recorded at the same time as OpenedPage for the final Page in a Story.
Whenever a Completed Story event occurs, event data for storyId, storyTitle, storyIndex, storyPageCount storyPlaybackMode, pageID, pageIndex, currentCategory, collection, pageType, actionLinkId, captionsEnabled, eyebrow, metadata, isMuted and context is returned.
Completed Page#
This event is recorded when a user watches a Page to completion (i.e. the timer for that Page finishes).
Whenever a Completed Page event occurs, event data for storyId, storyTitle, storyIndex, storyPageCount storyPlaybackMode, pageID, pageIndex, pageType, currentCategory, collection, contentLength, actionLinkId, captionsEnabled, eyebrow, metadata, isMuted and context is returned.
Action Button Tapped#
This event is recorded when a user taps on an action button on a Page to open a link.
Whenever a Action Button Tapped event occurs, event data for storyId, storyTitle, storyIndex, storyPageCount storyPlaybackMode, pageID, pageIndex, pageType, pageHasAction, pageActionType, pageActionText, currentCategory, collection, actionText, pageActionUrl, actionLinkId, captionsEnabled, eyebrow, metadata, isMuted and context is returned.
Share Button Tapped#
This event is recorded when a user taps the share button on a Page.
Whenever a Share Button Tapped event occurs, event data for shareMethod, storyId, storyTitle, storyIndex, storyPageCount storyPlaybackMode, pageID, pageIndex, currentCategory, collection, pageType, actionLinkId, captionsEnabled, eyebrow, metadata, isMuted and context is returned.
Previous Story#
This event is recorded when:
- a user swipes right to go to the previous Story (unless this is the first Story - in which case DismissedStory is fired instead)
- a user taps back on the first Page in a Story (and this is not the first Page in the first Story)
Whenever a Previous Story event occurs, event data for storyId, storyTitle, storyIndex, storyPageCount storyPlaybackMode, pageID, pageIndex, currentCategory, collection, pageType, actionLinkId, captionsEnabled, eyebrow, metadata, isMuted and context is returned.
Previous Page#
This event is recorded when a user taps back to go to a previous Page in the Story.
Whenever a Previous Page event occurs, event data for storyId, storyTitle, storyIndex, storyPageCount storyPlaybackMode, pageID, pageIndex, currentCategory, collection, pageType, actionLinkId, captionsEnabled, eyebrow, metadata, isMuted and context is returned.
Share Success#
This event is recorded when a user selects a sharing method from the system dialog.
Note: this event is only available for Android API level 22 and above.
Whenever a Share Success event occurs, event data for storyId, storyTitle, storyIndex, storyPageCount storyPlaybackMode, pageID, pageIndex, pageType, currentCategory, collection, shareMethod, actionLinkId, captionsEnabled, eyebrow, isMuted and context is returned.
Note 1: on Android API level 31 and above,
shareMethodis not supported and will benullfor this event. Note 2: sharing to clipboard does not trigger Share Success event, only when an app is selected for sharing the event will be fired.
Voted Poll#
This event is recorded when a user votes in a poll.
Whenever a Voted Poll event occurs, event data for storyId, storyTitle, storyIndex, pageId, pageIndex, pageType, currentCategory, collection, pollAnswerId, actionLinkId, captionsEnabled, eyebrow, metadata, isMuted and context is returned.
Trivia Quiz Question Answered#
This event is recorded when a user submits a Quiz answer.
Whenever a Trivia Quiz Question Answered event occurs, event data for storyId, storyTitle, storyIndex, storyPlaybackMode, pageID, pageIndex, pageType, triviaQuizId, triviaQuizTitle, triviaQuizQuestionId, currentCategory, collection, triviaQuizAnswerId, actionLinkId, captionsEnabled, eyebrow, metadata, isMuted and context is returned.
Trivia Quiz Completed#
This event is recorded when a user completes a Quiz.
Whenever a Trivia Quiz Completed event occurs, event data for storyId, storyTitle, storyIndex, storyPlaybackMode, pageID, pageIndex, pageType, triviaQuizId, triviaQuizTitle, currentCategory, collection, triviaQuizScore, actionLinkId, captionsEnabled, eyebrow, metadata, isMuted and context is returned.
Muted Story#
This event is recorded when a user taps the mute button to mute audio while viewing a Story.
Whenever a Muted Story event occurs, event data for captionsEnabled, categories, categoryDetails, currentCategory, contentLength, storyDisplayTitle, openedReason, storyId, storyIndex, pageActionText, pageActionUrl, actionLinkId, pageHasAction, pageActionType, pageId, pageIndex, pageTitle, pageType, searchFilter, searchTerm, searchSort, storyPageCount, storyPlaybackMode, storyTitle, isMuted and context is returned.
Unmuted Story#
This event is recorded when a user taps the mute button to unmute audio while viewing a Story.
Whenever an Unmuted Story event occurs, event data for captionsEnabled, categories, categoryDetails, currentCategory, contentLength, storyDisplayTitle, openedReason, storyId, storyIndex, pageActionText, pageActionUrl, actionLinkId, pageHasAction, pageActionType, pageId, pageIndex, pageTitle, pageType, searchFilter, searchTerm, searchSort, storyPageCount, storyPlaybackMode, storyTitle, isMuted and context is returned.
Clip Events#
Opened Clip#
This event is recorded when:
- a user taps on a row or grid item to open a Clip
- a user swipes up to the next Clip
- a user swipes down to the previous Clip
- a user is sent directly to a Clip via a call to
openCollection - a user is sent directly to a Clip via a deep link
- a user dismisses the last category (by pressing back) and returns to the top level collection
Whenever a Opened Clip event occurs, event data for clipId, clipTitle, clipIndex, clipCollectionCount, clipHasAction, clipActionType, openedReason, collection, categories, contentLength, clipFeedType, categoryDetails, captionsEnabled, actionLinkId, eyebrow, metadata, isMuted and context is returned.
Dismissed Clip#
This event is recorded when:
- a user taps on the back button in the top-left to exit the Clips player (and is at the top of the stack of Clip Categories)
- a user taps back on their device UI to navigate back (Android only)
This event does not fire when the user is not at the top of the Clip Category stack.
Whenever a Dismissed Clip event occurs, event data for clipId, clipTitle, clipIndex, clipCollectionCount, dismissedReason, durationViewed, clipsViewed, collection, categories, clipFeedType, loopsViewed, captionsEnabled, actionLinkId, eyebrow, metadata, isMuted and context is returned.
Next Clip#
This event is recorded when a user swipes up to go to the next Clip.
Whenever a Next Clip event occurs, event data for clipId, clipTitle, collection, categories, clipFeedType, clipIndex, clipCollectionCount, captionsEnabled, actionLinkId, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, eyebrow, metadata, isMuted and context is returned.
Previous Clip#
This event is recorded when a user swipes down to go to the previous Clip.
Whenever a Previous Clip event occurs, event data for clipId, clipTitle, collection, categories, clipFeedType, clipIndex, clipCollectionCount, captionsEnabled, actionLinkId, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, eyebrow, metadata, isMuted and context is returned.
Completed Loop#
This event is recorded when a user completes a loop of a Clip.
Whenever a Completed Loop event occurs, event data for clipId, clipTitle, collection, categories, clipFeedType, clipIndex, clipCollectionCount, captionsEnabled, actionLinkId, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, completionType, eyebrow, metadata, isMuted and context is returned.
Note: For live clips this event never will be fired.
Action Button Tapped#
This event is recorded when:
- a user taps the primary action button at the bottom of a Clip
- a user taps any secondary action buttons above the clip title
- a user swipes left on a Clip to open the relevant action
Whenever an Action Button Tapped event occurs, event data for clipId, clipTitle, clipIndex, clipCollectionCount, clipHasAction, clipActionType, clipActionText, collection, categories, clipFeedType, actionText, clipActionUrl, captionsEnabled, actionLinkId, actionClass, actionIndex, tappedClipActionText, tappedClipActionUrl, tappedClipActionType, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, eyebrow, metadata, isMuted and context is returned.
Share Button Tapped#
This event is recorded when a user taps the share button on a Clip.
Whenever a Share Button Tapped event occurs, event data for clipId, clipTitle, collection, categories, clipFeedType, clipIndex, clipCollectionCount, captionsEnabled, actionLinkId, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, eyebrow, metadata, isMuted and context is returned.
Share Success#
This event is recorded when a user selects a sharing method from the system dialog.
Whenever a Share Success event occurs, event data for clipId, clipTitle, clipIndex, clipCollectionCount, collection, categories, clipFeedType, shareMethod, captionsEnabled, actionLinkId, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, eyebrow, metadata, isMuted and context is returned.
Note: on Android API level 31 and above,
shareMethodis not supported and will benullfor this event.
Paused Clip#
This event is recorded when a user taps on the screen whilst a Clip is playing to pause the Clip. Tt does not fire when a Clip is paused automatically by sharing or following an action.
Whenever a Paused Clip event occurs, event data for clipId, clipTitle, collection, categories, clipFeedType, clipIndex, clipCollectionCount, captionsEnabled, actionLinkId, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, eyebrow, metadata, isMuted and context is returned.
Note: For live clips this event never will be fired, as pausing/resuming live clips is not supported.
Resumed Clip#
This event is recorded when a user taps a Clip that is paused to resume playback. It does not fire when a Clip is resumed automatically.
Whenever a Resumed Clip event occurs, event data for clipId, clipTitle, collection, categories, clipFeedType, clipIndex, clipCollectionCount, captionsEnabled, actionLinkId, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, eyebrow, metadata, isMuted and context is returned.
Note: For live clips this event never will be fired, as pausing/resuming live clips is not supported.
Liked Clip#
This event is recorded when a user likes a Clip by tapping the like button when they do not currently like the Clip.
Whenever a Liked Clip event occurs, event data for clipId, clipTitle, collection, categories, clipFeedType, clipIndex, clipCollectionCount, captionsEnabled, actionLinkId, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, eyebrow, metadata, isMuted and context is returned.
Unliked Clip#
This event is recorded when a user unlikes a Clip by tapping the like button when they currently like the Clip.
Whenever a Unliked Clip event occurs, event data for clipId, clipTitle, collection, categories, clipFeedType, clipIndex, clipCollectionCount, captionsEnabled, actionLinkId, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, eyebrow, metadata, isMuted and context is returned.
Finished Clip#
This event is recorded when:
- Dismissed Clip is fired
- Next Clip is fired
- Previous Clip is fired
- At the same time as OpenedCategory
- (iOS specific triggers exist for loop completion, For You/Following switching)
Whenever a Finished Clip event occurs, event data for clipId, clipTitle, clipIndex, clipCollectionCount, loopsViewed, durationViewed, collection, categories, clipFeedType, contentLength, captionsEnabled, actionLinkId, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, completionType, eyebrow, metadata, isMuted and context is returned.
Opened Category#
This event is recorded when:
- a user taps a category at the bottom of the Clips Player to open a new Category
- a user opens a category by navigating back from another category
This event is not fired when opening the top level of a collection - only when navigating to a specific category.
Whenever a Opened Category event occurs, event data for clipId, clipTitle, clipIndex, clipCollectionCount, collection, categories, clipFeedType, categoryId, categoryName, captionsEnabled, actionLinkId, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, eyebrow, metadata, isMuted and context is returned.
Dismissed Category#
This event is recorded when:
- a user navigates back using the back button (or system back on Android) to the previous category.
This event does not fire when dismissing the top level collection
Whenever a Dismissed Category event occurs, event data for clipId, clipTitle, clipIndex, clipCollectionCount, collection, categories, clipFeedType, categoryId, categoryName, captionsEnabled, actionLinkId, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, eyebrow, metadata, isMuted and context is returned.
Follow Category#
This event is recorded when:
- a user taps the plus button under the follow category button of the Clips Player
- a user taps the follow button at the top right of the Followable Category screen and the category was not followed
Whenever a Follow Category event occurs, event data for clipId, clipTitle, clipIndex, clipCollectionCount, collection, categories, clipFeedType, categoryId, categoryName, captionsEnabled, actionLinkId, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, eyebrow, metadata, isMuted and context is returned.
Unfollow Category#
This event is recorded when:
- a user taps the checkmark button under the follow category button of the Clips Player
- a user taps the follow button at the top right of the Followable Category screen and the category was followed
Whenever a Unfollow Category event occurs, event data for clipId, clipTitle, clipIndex, clipCollectionCount, collection, categories, clipFeedType, categoryId, categoryName, captionsEnabled, actionLinkId, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, eyebrow, metadata, isMuted and context is returned.
Followable Category Tapped#
This event is recorded when:
- a user taps the follow category button of the Clips Player to open the Followable Category screen
- a user swipes left from the right edge of the screen on a Clip with a Followable Category and opens the Followable Category screen
Whenever a Followable Category Tapped event occurs, event data for clipId, clipTitle, clipIndex, clipCollectionCount, collection, categories, clipFeedType, categoryId, categoryName, captionsEnabled, actionLinkId, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, eyebrow, metadata, isMuted and context is returned.
Enable Captions#
This event is recorded when:
- a user taps the button to enable Closed Captions in the Clips Player
Whenever an Enable Captions event occurs, event data for clipId, clipTitle, clipIndex, clipCollectionCount, collection, categories, clipFeedType, categoryId, categoryName, captionsEnabled, actionLinkId, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, eyebrow, metadata, isMuted and context is returned.
Disable Captions#
This event is recorded when:
- a user taps the button to disable Closed Captions in the Clips Player
Whenever a Disable Captions event occurs, event data for clipId, clipTitle, clipIndex, clipCollectionCount, collection, categories, clipFeedType, categoryId, categoryName, captionsEnabled, actionLinkId, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, eyebrow, metadata, isMuted and context is returned.
Followable Category Limit Shown#
This event is recorded when:
- a user attempts to follow a category but has reached their following limit and the limit dialog is displayed
Whenever a Followable Category Limit Shown event occurs, event data for clipId, clipTitle, clipIndex, clipCollectionCount, collection, categories, clipFeedType, captionsEnabled, actionLinkId, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, followableCategoryLimitActionText, followableCategoryLimitActionUrl, followableCategoryLimitDialogue, location, eyebrow, metadata, isMuted and context is returned.
Followable Category Limit Action Button Tapped#
This event is recorded when:
- a user taps the action button in the followable category limit dialog
Whenever a Followable Category Limit Action Button Tapped event occurs, event data for clipId, clipTitle, clipIndex, clipCollectionCount, collection, categories, clipFeedType, captionsEnabled, actionLinkId, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, followableCategoryLimitActionText, followableCategoryLimitActionUrl, followableCategoryLimitDialogue, location, eyebrow, metadata, isMuted and context is returned.
Followable Category Limit Dismissed#
This event is recorded when:
- a user dismisses or closes the followable category limit dialog without taking action
Whenever a Followable Category Limit Dismissed event occurs, event data for clipId, clipTitle, clipIndex, clipCollectionCount, collection, categories, clipFeedType, captionsEnabled, actionLinkId, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, followableCategoryLimitActionText, followableCategoryLimitActionUrl, followableCategoryLimitDialogue, location, eyebrow, metadata, isMuted and context is returned.
Muted Clip#
This event is recorded when a user taps the mute button to mute audio while viewing a Clip.
Whenever a Muted Clip event occurs, event data for captionsEnabled, actionLinkId, categories, categoryDetails, clipHasAction, clipActionText, clipActionUrl, clipActionType, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, clipId, clipIndex, clipTitle, collection, contentLength, searchFilter, searchTerm, searchSort, clipFeedType, collectionClipCount, isLive, isMuted and context is returned.
Unmuted Clip#
This event is recorded when a user taps the mute button to unmute audio while viewing a Clip.
Whenever an Unmuted Clip event occurs, event data for captionsEnabled, actionLinkId, categories, categoryDetails, clipHasAction, clipActionText, clipActionUrl, clipActionType, clipHasSecondaryActions, clipSecondaryActionsText, clipSecondaryActionUrls, clipSecondaryActionTypes, clipId, clipIndex, clipTitle, collection, contentLength, searchFilter, searchTerm, searchSort, clipFeedType, collectionClipCount, isLive, isMuted and context is returned.
Sheet Events#
Opened Sheet#
This event is recorded in the following scenarios:
- When a user taps on an action button on a clip or story to open a Sheet
- When a Sheet is opened via a deep link
- When a Sheet is opened via the
openSheetmethod
Whenever a user taps on an action button on a clip or story to open a Sheet the Opened Sheet event occurs, event data for sheetId, sheetTitle, sheetSize, openedReason, storyId, storyTitle, storyIndex, storyPageCount, storyPlaybackMode, currentCategory, collection, categories, pageID, pageIndex, pageType, pageHasAction, pageActionType, pageActionText, pageActionUrl, clipId, clipTitle, clipIndex, clipHasAction, clipActionType, clipActionText, clipActionUrl, captionsEnabled, actionLinkId, metadata, isMuted and context is returned.
Whenever a Sheet is opened via a deep link or via the openSheet method the Opened Sheet event occurs, event data for sheetId, sheetTitle, sheetSize, openedReason, metadata, isMuted and context is returned.
Dismissed Sheet#
This event is recorded when a user closes a Sheet by:
- Tapping outside of the Sheet (for 50% height setting Sheets)
- Dragging the sheet down beyond a threshold
- Tapping the back button
- Tapping the system back button
Whenever a user dismisses the Sheet on a clip or story the Dismissed Sheet event occurs, event data for sheetId, sheetTitle, sheetSize, storyId, storyTitle, storyIndex, storyPageCount, storyPlaybackMode, currentCategory, collection, categories, pageID, pageIndex, pageType, pageHasAction, pageActionType, pageActionText, pageActionUrl, clipId, clipTitle, clipIndex, clipHasAction, clipActionType, clipActionText, clipActionUrl, captionsEnabled, actionLinkId, metadata, isMuted and context is returned.
Whenever a user dismisses the Sheet that is opened via a deep link or via the openSheet method the Dismissed Sheet event occurs, event data for sheetId, sheetTitle, sheetSize, openedReason, metadata, isMuted and context is returned.
Card Events#
Card Tapped#
This event is recorded when:
- a user taps on the Storyteller Card view
Whenever a Card Tapped event occurs, event data for cardId, cardActionType, cardActionUrl, cardAspectRatio, cardBackgroundType, cardCollectionId, cardIndex, cardSubtitle, cardTitle, categories, categoryDetails, hasButton, and context is returned.
Card Viewed#
This event is recorded when:
- the background image of the card closest to the center of the screen loads. For video cards, this event is triggered when the video starts playing.
Whenever a Card Viewed event occurs, event data for cardId, cardActionType, cardActionUrl, cardAspectRatio, cardBackgroundType, cardCollectionId, cardIndex, cardSubtitle, cardTitle, categories, categoryDetails, hasButton, and context is returned.
Ad Events#
Opened Ad#
Stories#
This event is recorded when:
- an ad is loaded because the previous Story finished
- a user swipes left on a Story to go to the next Story and an ad appears
- a user swipes right on a Story to go to the previous Story and an ad appears
Whenever a Opened Ad event occurs, event data for advertiserName, adId, adType, adPlacement, adFormat, adResponseIdentifier, pageType, openedReason, adView, contentLength, pageHasAction, pageActionType, pageActionText, currentCategory, categories, pageActionUrl, isMuted and context is returned.
Clips#
This event is recorded when:
- a user swipes up on a clip to go to the next clip and an ad should appear next
- a user swipes down on a clip to go to the previous clip and an ad should appear next
- an ad completes a loop and begins playing again from the start
Information about Ad View is only sent to client delegates on an OpenedAd event.
Whenever a Opened Ad event occurs, event data for advertiserName, adId, adType, adPlacement, adFormat, adResponseIdentifier, pageType, openedReason, adView, contentLength, pageHasAction, pageActionType, clipHasAction, clipActionType, pageActionText, clipActionText, pageActionUrl, clipActionUrl, currentCategory, collection, clipIndex, clipCollectionCount, isMuted and context is returned.
Dismissed Ad#
Stories#
This event is recorded when a user:
- taps close to dismiss the ad
- swipes down to dismiss the ad
- taps back on their device UI to dismiss the ad (Android only)
- taps to skip the ad if the ad is the last Page in the current set of Stories
- swipes left on the ad to skip it if the ad is the last Page in the current set of Stories
- completes the ad if the ad is the last Page in the current set of Stories
Whenever a Dismissed Ad event occurs, event data for advertiserName, adId, adType, adPlacement, adFormat, adResponseIdentifier, pageType, dismissedReason, durationViewed, pagesViewed, pageHasAction, pageActionType, pageActionText, currentCategory, categories, pageActionUrl, isMuted and context is returned.
Clips#
This event is recorded when a user:
- taps the back button to exit the clips player when an ad is being shown
- (Android only) presses the system back button to exit the clips player when an ad is being shown
Whenever a Dismissed Ad event occurs, event data for advertiserName, adId, adType, adPlacement, adFormat, adResponseIdentifier, pageType, dismissedReason, durationViewed, pagesViewed, clipsViewed, loopsViewed, pageHasAction, pageActionType, clipHasAction, clipActionType, pageActionText, clipActionText, pageActionUrl, clipActionUrl, currentCategory, collection, clipIndex, clipCollectionCount, isMuted and context is returned.
Skipped Ad#
Stories#
This event is recorded when a user:
- swipes left to go to the next Story before completing the current ad
- taps to go to the next Page on an ad before completing the current ad
Whenever a Skipped Ad event occurs, event data for advertiserName, adId, adType, adPlacement, adFormat, adResponseIdentifier, pageType, contentLength, pageHasAction, pageActionType, pageActionText, currentCategory, categories, pageActionUrl, isMuted and context is returned.
Clips#
This event is recorded when:
- a user swipes up to go to the next clip
- a user swipes down to go the previous clip
Whenever a Skipped Ad event occurs, event data for advertiserName, adId, adType, adPlacement, adFormat, adResponseIdentifier, pageType, contentLength, pageHasAction, pageActionType, clipHasAction, clipActionType, pageActionText, clipActionText, pageActionUrl, clipActionUrl, currentCategory, collection, clipIndex, clipCollectionCount, isMuted and context is returned.
Ad Action Button Tapped#
Stories#
This event is recorded when a user taps on an action button on an ad to open a link.
Whenever a Ad Action Button Tapped event occurs, event data for advertiserName, adId, adType, adPlacement, adFormat, adResponseIdentifier, pageType, pageHasAction, pageActionType, pageActionText, currentCategory, categories, actionText, pageActionUrl, isMuted and context is returned.
Clips#
This event is recorded when a user:
- taps the action button at the bottom of an ad displayed in clips
- swipes left on a clip to open the relevant action
Whenever a Ad Action Button Tapped event occurs, event data for advertiserName, adId, adType, adPlacement, adFormat, adResponseIdentifier, pageType, pageHasAction, pageActionType, clipHasAction, clipActionType, pageActionText, clipActionText, pageActionUrl, clipActionUrl, currentCategory, collection, clipIndex, clipCollectionCount, isMuted and context is returned.
Previous Ad#
This event is recorded when a user:
- swipes right to go to the previous Story when viewing an ad
- taps back to go to the previous Page when viewing an ad
Whenever a Previous Ad event occurs, event data for advertiserName, adId, adType, adPlacement, adFormat, adResponseIdentifier, pageType, contentLength, pageHasAction, pageActionType, pageActionText, currentCategory, categories, pageActionUrl, isMuted and context is returned.
Finished Ad#
Stories#
This event is recorded at the same time as Dismissed Ad, Skipped Ad, Previous Ad and Viewed Ad Page Complete and gives an easier way to determine when an ad finishes for any reason.
Whenever a Finished Ad event occurs, event data for advertiserName, adId, adType, adPlacement, adFormat, adResponseIdentifier, pageType, adView, contentLength, pageHasAction, pageActionType, pageActionText, currentCategory, categories, pageActionUrl, isMuted and context is returned.
Clips#
This event is recorded at the same time as DismissedAd, or SkippedAd.
Whenever a Finished Ad event occurs, event data for advertiserName, adId, adType, adPlacement, adFormat, adResponseIdentifier, pageType, adView, contentLength, pageHasAction, pageActionType, clipHasAction, clipActionType, pageActionText, clipActionText, pageActionUrl, clipActionUrl, currentCategory, collection, clipIndex, clipCollectionCount, isMuted and context is returned.
Paused Ad#
Stories#
This event is recorded when a user pauses a Page within an ad by pressing and holding on the Page.
Whenever a Paused Ad Page event occurs, event data for advertiserName, adId, adType, adPlacement, adFormat, adResponseIdentifier, pageType, contentLength, pageHasAction, pageActionType, pageActionText, currentCategory, categories, pageActionUrl, isMuted and context is returned.
Clips#
This event is recorded when a user pauses a clip which is an ad by tapping the screen. It does not fire when a clip is paused automatically for sharing or following an action
Whenever a Paused Ad Clip event occurs, event data for advertiserName, adId, adType, adPlacement, adFormat, adResponseIdentifier, pageType, contentLength, pageHasAction, pageActionType, clipHasAction, clipActionType, pageActionText, clipActionText, pageActionUrl, clipActionUrl, currentCategory, collection, clipIndex, clipCollectionCount, isMuted and context is returned.
Resumed Ad#
Stories#
This event is recorded when a user resumes playing a Page within an ad by releasing their long press which paused the ad.
Whenever a Resumed Ad Page event occurs, event data for advertiserName, adId, adType, adPlacement, adFormat, adResponseIdentifier, pageType, contentLength, pageHasAction, pageActionType, pageActionText, currentCategory, categories, pageActionUrl, isMuted and context is returned.
Clips#
This event is fired when a clip which is an ad is paused and a user taps the screen to resume playback. It does not fire when a clip is resumed automatically
Whenever a Resumed Ad Clip event occurs, event data for advertiserName, adId, adType, adPlacement, adFormat, adResponseIdentifier, pageType, contentLength, pageHasAction, pageActionType, clipHasAction, clipActionType, pageActionText, clipActionText, pageActionUrl, clipActionUrl, currentCategory, collection, clipIndex, clipCollectionCount, isMuted and context is returned.
Viewed Ad Page First Quartile#
This event is recorded when a user reaches 1/4 of the way through the duration of a page or clip which is an ad.
For clip ads (which loop), it fires for each loop of the clip.
Whenever a Viewed Ad Page First Quartile event occurs, event data for advertiserName, adId, adType, adPlacement, adFormat, adResponseIdentifier, pageType, contentLength, pageHasAction, pageActionType, clipHasAction, clipActionType, pageActionText, clipActionText, pageActionUrl, clipActionUrl, currentCategory, collection, clipIndex, clipCollectionCount, isMuted and context is returned.
Viewed Ad Page Midpoint#
This event is recorded when a user reaches halfway through the duration of a page or clip which is an ad.
For clip ads (which loop), it fires for each loop of the clip.
Whenever a Viewed Ad Page Midpoint event occurs, event data for advertiserName, adId, adType, adPlacement, adFormat, adResponseIdentifier, pageType, contentLength, pageHasAction, pageActionType, clipHasAction, clipActionType, pageActionText, clipActionText, pageActionUrl, clipActionUrl, currentCategory, collection, clipIndex, clipCollectionCount, isMuted and context is returned.
Viewed Ad Page Third Quartile#
This event is recorded when a user reaches 3/4 of the way through the duration of a page or clip which is an ad.
For clip ads (which loop), it fires for each loop of the clip.
Whenever a Viewed Ad Page Third Quartile event occurs, event data for advertiserName, adId, adType, adPlacement, adFormat, adResponseIdentifier, pageType, contentLength, pageHasAction, pageActionType, clipHasAction, clipActionType, pageActionText, clipActionText, pageActionUrl, clipActionUrl, currentCategory, collection, clipIndex, clipCollectionCount, isMuted and context is returned.
Viewed Ad Page Complete#
This event is recorded when a user reaches the end of the duration for a page or clip which is an ad.
For clip ads (which loop), it fires for each loop of the clip.
Whenever a Viewed Ad Page Complete event occurs, event data for advertiserName, adId, adType, adPlacement, adFormat, adResponseIdentifier, pageType, contentLength, pageHasAction, pageActionType, clipHasAction, clipActionType, pageActionText, clipActionText, pageActionUrl, clipActionUrl, currentCategory, collection, clipIndex, clipCollectionCount, isMuted and context is returned.
Muted Ad#
This event is recorded when a user taps the mute button to mute audio while viewing an Ad.
Stories#
Whenever a Muted Ad event occurs in Stories, event data for advertiserName, adId, adType, adFormat, adResponseIdentifier, adView, captionsEnabled, categories, categoryDetails, currentCategory, contentLength, storyDisplayTitle, openedReason, storyIndex, pageActionText, pageActionUrl, pageHasAction, pageActionType, searchFilter, searchTerm, searchSort, storyPageCount, storyTitle, isMuted and context is returned.
Clips#
Whenever a Muted Ad event occurs in Clips, event data for advertiserName, adId, adType, adFormat, adResponseIdentifier, categories, contentLength, openedReason, pageActionText, pageActionUrl, pageHasAction, pageActionType, searchFilter, searchTerm, searchSort, clipFeedType, collectionClipCount, isMuted and context is returned.
Unmuted Ad#
This event is recorded when a user taps the mute button to unmute audio while viewing an Ad.
Stories#
Whenever an Unmuted Ad event occurs in Stories, event data for advertiserName, adId, adType, adFormat, adResponseIdentifier, adView, captionsEnabled, categories, categoryDetails, currentCategory, contentLength, storyDisplayTitle, openedReason, storyIndex, pageActionText, pageActionUrl, pageHasAction, pageActionType, searchFilter, searchTerm, searchSort, storyPageCount, storyTitle, isMuted and context is returned.
Clips#
Whenever an Unmuted Ad event occurs in Clips, event data for advertiserName, adId, adType, adFormat, adResponseIdentifier, categories, contentLength, openedReason, pageActionText, pageActionUrl, pageHasAction, pageActionType, searchFilter, searchTerm, searchSort, clipFeedType, collectionClipCount, isMuted and context is returned.
Playback Events#
Ready to Play#
This event is called once per video Page at the point when the video player has been loaded.
Whenever a Ready to Play event occurs, event data for storyId, storyTitle, storyIndex, pageID, pageIndex, pageType, contentLength, actionLinkId, isLive, metadata and context is returned.
Media Started#
This event is called once per video Page at the point when the video starts to play for the first time.
Whenever a Media Started event occurs, event data for storyId, storyTitle, storyIndex, pageID, pageIndex, pageType, contentLength, actionLinkId, isLive, metadata and context is returned.
Buffering Started#
This event is called on video Pages whenever the video starts to buffer.
Whenever a Buffering Started event occurs, event data for storyId, storyTitle, storyIndex, pageID, pageIndex, pageType, contentLength, actionLinkId, isInitialBuffering, isLive, metadata and context is returned.
Buffering Ended#
This event is called on video Pages whenever the video finishes buffering
Note: There should be at most one Ready to Play event and one Media Started event for every Page. There may be multiple Buffering Started/Buffering Ended pairs of events for an individual Page. There may not always be a Buffering Ended event for every Buffering Started event as the user may choose to exit the Page during buffering.
Whenever a Buffering Ended event occurs, event data for storyId, storyTitle, storyIndex, pageID, pageIndex, pageType, contentLength, actionLinkId, isInitialBuffering, timeSinceBufferingBegan, isLive, metadata and context is returned.
Search Events#
Opened Search#
The openedSearch event is recorded when:
- A user taps on Search from a Story within the Story player
- A user taps on Search from a Clip within the Clip player
Dismissed Search#
The dismissedSearch event is recorded when a user taps the 'X' button to exit the Search interface.
Performed Search#
The performedSearch event is recorded when:
- A user taps the 'Search' icon after entering a term in the Search bar (whether manually or by tapping the 'arrow' icon beside a Search suggestion to populate the search bar)
- A user taps the 'Search' icon beside a Search suggestion. The Search is then performed with the suggestion as the term.
- A user taps 'Apply filters' from the filters interface.
Opened Filters#
The openedFilters event is recorded when, after a user has performed as Search, they press the 'Filter' icon to bring up the filter interface.
Note that filters can only be applied after the initial search has been performed.
Dismissed Filters#
This event is recorded when a user, after calling up the 'Filters' interface, swipes down to exit the interface without applying any.
Used Suggestion#
The usedSuggestion event is recorded when:
- A user taps the 'arrow' icon beside a Search suggestion to populate the Search bar. This does not trigger any other event, and the user may amend the Search bar input before performing a Search.
- A user taps the 'Search' icon beside a Search suggestion. This simultaneously triggers a PerformedSearch event, above.
Event Data#
For each event, data is returned with details about the story and Page involved as well as some extra properties with more information about what the user has done. The data is returned as a UserActivityData class with the following properties:
Story ID#
The storyId: String? is the ID of the Story for which the event occurred.
Story Title#
The storyTitle: String? is the title of the Story for which the event occurred.
Story Display Title#
The storyDisplayTitle: String? is the display title of the Story for which the event occurred.
Story Index#
The storyIndex: Int? is the index of the Story for which the event occurred in the row from which it was opened at the point it was opened - this is only included on OpenedStory events. Note: this value is 1-based.
Story Page Count#
The storyPageCount: Int? is the number of Pages in the Story.
Story Read Status#
The storyReadStatus: String? is whether the Story was read or unread at the point the Story was opened - this is only included on OpenedStory events. Note this will either be read or unread.
Page ID#
The pageId: String? is the ID of the Page for which the event occurred.
Page Index#
The pageIndex: Int? is the index of the Page in the Story for which the event occurred. Note: this value is 1-based.
Page Type#
The pageType: String? is the type of the Page associated with the event. This can have the value image, video or poll.
Story Playback Mode#
The storyPlaybackMode: String? value states if the Story was opened during the list or in the single Story mode (Storyteller static method.) This is included for all events. The values for this are either list or singleStory.
Page Has Action#
The pageHasAction: Bool? value states whether the Page associated with the event contains an action.
Page Action Type#
The pageActionType: String? is the type of the action on the page.
Page Action Text#
The pageActionText: String? is the text call to action if the Page has an Action.
Page Action URL#
The pageActionUrl: String? is the URL for the link if the Page has an Action.
Opened Reason#
The openedReason: String? value states how the user opened a Story or Clip. The possible values for this are storyRowTap (the user tapped the Story in the Story row); deepLink (openStory or openPage was called to open the Story); swipe (the user swiped left or right to change the current Story); automaticPlayback (the user completed the previous Page); tap (the user tapped on the previous Page to navigate to this Page); clipListTap (the user tapped the Clip in a Clip list) and loop (a Clip has completed a full playback cycle and started playing again).
openedReason is only included on OpenedStory and OpenedClip events.
Dismissed Reason#
The dismissedReason: String? value states the way the user dismissed a Story or Clip. The possible values for this are closeButtonTapped (the user tapped close to dismiss the Story); swipedDown (the user swiped down to dismiss the Story); swipedFirstStory (the user swiped the first Story to dismiss it); swipedFinalStory (the user swiped the final Story to dismiss it); skippedFinalPage (the user tapped to skip the final Page of the final Story); backTapped (the user tapped their device back button to dismiss the Story view); completedFinalPage (the user completed the final Page of the final Story) and backButtonTapped (the user tapped the back button to dismiss the Clip).
dismissedReason is only included on DismissedStory and DismissedClip events.
Duration Viewed#
The durationViewed: Float? is the duration the user viewed the Story or Clip for in milliseconds. This is measured from the most recent OpenedStory or OpenedClip event with an Opened Reason of storyRowTap, deepLink or clipsListTap.
This timer is reset after any DismissedStory or DismissedClip events.
For FinishedClip, Duration Viewed is the the duration the user viewed the Clips player for in milliseconds. This is measured from the most recent OpenedClip event with an Opened Reason of swipe.
Pages Viewed Count#
The pagesViewedCount: Int? is the total number of Pages a user has viewed since the most recent OpenedStory event with an Opened Reason of storyRowTap or deepLink. This count is reset after any DismissedStory events.
Content Length#
The contentLength: Long? is the total duration of the Page content in seconds.
Ad ID#
The adId: String? is the ad ID if an event is associated with an ad.
Share Method#
The shareMethod: String? is the component name of the app which the user has selected for sharing.
Note: on Android API level 31 and above,
shareMethodis not supported and will benullfor this event.
Ad View#
The adView: View? is the view the ad is rendered in. This is only included for OpenedAd and FinishedAd events.
Advertisers Name#
The advertiserName: String? is the name of the advertiser for a particular ad. This is only included for ad events.
Ad Type#
The adType: String? tells the source component of the ad. It can be either stories or clips. This is only included for ad events.
Ad Placement#
The adPlacement: String? tells the placement of the ad. It can be either Between Stories, Between Pages or Between Clips. This is only included for ad events.
Ad Format#
The adFormat: String? represents the format of the Ad that was displayed. Possible values can be customNative, native, banner. This is only included for ad events.
Ad Response Identifier#
The adResponseIdentifier: String? represents the response identifier attached to the ad that was received from the ad provider. Used for debugging ad targeting. This is only included for ad events.
Is Initial Buffering#
The isInitialBuffering: Boolean? value is returned if the buffering happens at the start of playback for that Page. This is only included for BufferingStarted and BufferingEnded events.
Time Since Buffering Began#
The timeSinceBufferingBegan: Long? value is the duration the current buffering lasted for in milliseconds. This is only included for BufferingEnded events.
Categories#
The categories: [String]? value is the list of categories assigned to the Story for which the event occurred. This is only included on OpenedStory events.
Poll Answer#
The pollAnswerId: String? is the ID of the answer the user selected when voting. This is only included on VotedPoll events.
Trivia Quiz Answer ID#
The triviaQuizAnswerId: String? is the ID of the selected trivia quiz answer. This is only included on TriviaQuizQuestionAnswered events.
Trivia Quiz ID#
The triviaQuizId: String? is the ID of the Trivia Quiz that was completed or answered. This is only included on TriviaQuizQuestionAnswered and TriviaQuizCompleted events.
Trivia Quiz Question ID#
The triviaQuizQuestionId: String? is the ID of the Trivia Quiz question which was answered. This is only included on TriviaQuizQuestionAnswered events.
Trivia Quiz Title#
The triviaQuizTitle: String? is the title of the Trivia Quiz that was completed or answered. This is only included on TriviaQuizQuestionAnswered and TriviaQuizCompleted events.
Trivia Quiz Score#
ThetriviaQuizScore: Int? value is the score of the trivia quiz that was completed. This is only included on TriviaQuizCompleted events.
Clip ID#
The clipId: String? is the ID of the Clip for which the event occurred.
Clip Title#
The clipTitle: String?is the title of the Clip for which the event occurred.
Clip Index#
The clipIndex: Int? is the index of the Clip in the row or grid at the point it was selected or the index of the Clip in the feed at the point it was viewed.
Clip Collection Count#
The clipCollectionCount: Int? amount of Clips in the collection.
Clips Viewed#
The clipsViewed: Int? value is the total number of Clips a user has viewed since the most recent OpenedClip event with an Opened Reason of clipListTap or deepLink. This count should be reset after any DismissedClip events.
Loops Viewed#
The loopsViewed: Int? is for DismissedClip, the total number of loops (plays of an individual Clip) a user has viewed since the most recent OpenedClip event with an Opened Reason of clipListTap or deepLink.
This count should be reset after any DismissedClip events. For FinishedClip, the total number of loops.
Clip Has Action#
The clipHasAction: Bool? value is whether the Clip associated with the event contains a primary action.
Clip Action Type#
The clipActionType String? is the type of the action on the clip.
Clip Action Text#
The clipActionText String? is the text call to action if the Clip associated with the event has a primary Action link.
Clip Action URL#
The clipActionUrl: String? is the URL linked to from the action if a Clip associated with the event has a primary Action.
Action Class#
The actionClass: String? identifies whether the action button that was tapped is a primary or secondary action. Possible values are primary and secondary. This is only included for ClipActionButtonTapped events.
Action Index#
The actionIndex: Int? is the 1-based index of the secondary action that was tapped. This is only included for ClipActionButtonTapped events when a secondary action is tapped.
Tapped Clip Action Text#
The tappedClipActionText: String? is the text of the specific action button (primary or secondary) that was tapped. This is only included for ClipActionButtonTapped events.
Tapped Clip Action URL#
The tappedClipActionUrl: String? is the URL of the specific action button (primary or secondary) that was tapped. This is only included for ClipActionButtonTapped events.
Tapped Clip Action Type#
The tappedClipActionType: String? is the type of the specific action button (primary or secondary) that was tapped. This is only included for ClipActionButtonTapped events.
Has Secondary Actions#
The clipHasSecondaryActions: Boolean? indicates whether the clip has any secondary actions. This is included in all Clip Analytics Events.
Secondary Actions Text#
The clipSecondaryActionsText: [String]? is an array of all the text CTAs on secondary actions for the clip. This is included in all Clip Analytics Events when the clip has secondary actions.
Secondary Action URLs#
The clipSecondaryActionUrls: [String]? is an array of all the URLs on secondary actions for the clip. This is included in all Clip Analytics Events when the clip has secondary actions.
Secondary Action Types#
The clipSecondaryActionTypes: [String]? is an array of all the types of secondary actions for the clip. This is included in all Clip Analytics Events when the clip has secondary actions.
Is Live#
The isLive: Boolean? set to true for Live Clips.
Action Text#
The actionText property has exactly the same value as "Page Action Text" or "Clip Action Text" and is only reported for Action Button Tapped
Action Link ID#
The actionLinkId: String? is a unique identifier for the action link associated with pages or clips. This property is included in analytics events where actions are present and allows tracking specific action links across the platform. The action link ID can be used to identify which specific CTA (call-to-action) was interacted with or displayed, enabling more granular analytics and attribution for content performance.
Collection#
The collection is the ID of the Collection if a Story or Clip is being played from a Collection.
Category Details#
The categoryDetails is a list of Category Detail objects. This includes the name, ID, type and placement of the Category.
Category Name#
The categoryName of the category being navigated to or dismissed
Category ID#
The categoryId of the category being navigated to or dismissed.
Current Category#
The currentCategory is the Category for the row that is currently being interacted with. The information provided from this is the Category title, ID and placement.
This is only included on Story and Ad events.
Search From#
The searchFrom indicates whether the Search for which the event is recorded was opened from Clips or Stories.
Is Suggestion#
The isSuggestion indicates whether the Search for which the event is recorded used a suggested Search.
Note that when filters are opened (event), the Is Suggestion value should reflect what was used for the initial search performed before opening filters.
Initial Input#
The initialInput this property tracks the input at the moment the suggestion was used.
Search Filter#
The searchFilter property includes the content type and date posted used by search filter.
Search Sort#
The searchSort field indicates method by which the relevant Story / Clip's search results were sorted.
Search Term#
The searchTerm by which the Clips / Stories were searched, either entered in the search bar by the user or selected / filled from search suggestions.
Captions Enabled#
The captionsEnabled: Boolean? value is set to true if captions are enabled.
Is Muted#
The isMuted: Boolean? value indicates the current mute state of the audio. This is set to true when audio is muted and false when audio is unmuted. This property is included in mute/unmute events for Stories, Clips, and Ads.
Sheet ID#
The sheetId is the ID of the Sheet for which the event occurred.
Sheet Title#
The sheetTitle is the title of the Sheet for which the event occurred.
Sheet Size#
The sheetSize is the height setting of the Sheet. This can have the value 50, 75 or 100 (representing % of screen height).
Card ID#
The cardId: String? is the ID of the Card for which the event occurred. This is included for CardTapped event.
Card Action Type#
The cardActionType: String? is the type of the action on the Card. This is included for CardTapped event.
Card Action URL#
The cardActionUrl: String? is the URL for the link if the Card has an action. This is included for CardTapped event.
Card Aspect Ratio#
The cardAspectRatio: String? is the aspect ratio of the Card. This is included for CardTapped event.
Card Background Type#
The cardBackgroundType: String? is the type of background on the Card. This can have the value image or video. This is included for CardTapped event.
Card Collection ID#
The cardCollectionId: String? is the ID of the collection the Card belongs to. This is included for CardTapped event.
Card Index#
The cardIndex: Int? is the index of the Card in the collection. Note: this value is 1-based. This is included for CardTapped event.
Card Subtitle#
The cardSubtitle: String? is the subtitle text displayed on the Card. This is included for CardTapped event.
Card Title#
The cardTitle: String? is the title text displayed on the Card. This is included for CardTapped event.
Metadata#
The metadata: Map<String, String>? is a map containing custom metadata key-value pairs associated with the content. This is included for Story, Clip, Playback, and Sheet events. The metadata comes from the Story or Clip associated with the event and can contain custom fields provided via the Storyteller API.
Followable Category Limit Action Text#
The followableCategoryLimitActionText: String? is the text displayed on the action button in the followable category limit dialog. This is only included for followable category limit events.
Followable Category Limit Action URL#
The followableCategoryLimitActionUrl: String? is the URL that the action button in the followable category limit dialog will navigate to when tapped. This is only included for followable category limit events.
Followable Category Limit Dialogue#
The followableCategoryLimitDialogue: String? is the main text content displayed in the followable category limit dialog explaining why the user cannot follow more categories. This is only included for followable category limit events.
Location#
The location: String? indicates where the followable category limit dialog was displayed. For clip-related limit events, this value is "On Clip". This is only included for followable category limit events.
Eyebrow#
The eyebrow: String? is the subtitle text displayed above the title for Stories and Clips tiles. It is also present in Stories and Clips Player assuming it is set in CMS.
Completion Type#
The completionType: String? indicates how the user finished watching a Clip or completed a loop. This property is included in finishedClip and completedLoop events. Possible values include:
natural- The clip or loop completed naturally by playing to the endscrubbed- The user used the progress bar to scrub/seek to the end
This helps track whether users are actively engaging with the full content or skipping through it using the progress bar.
Context#
The context: StorytellerAnalyticsContext? contains custom context data that was provided when configuring the SDK row/grid/card component. This allows integrators to track the context of where the analytics event occurred. This property is included in all Story, Clip, Ad, Media Playback, Sheet, and Card analytics events.