Analytics

Sending Events

This section shows you how to send the Storyly events to specific data platforms. You can use the following function of StorylyListener to redirect the Storyly events to your data platform:

override fun storylyEvent(storylyView: StorylyView, event: StorylyEvent,
                          storyGroup: StoryGroup?, story: Story?,
                          storyComponent: StoryComponent?) {}
 @Override
public void storylyEvent(@NonNull StorylyView storylyView, @NonNull StorylyEvent storylyEvent,
                         @Nullable StoryGroup storyGroup, @Nullable Story story,
                         @Nullable StoryComponent storyComponent) {}

📘

Tip

You can also check Storyly Events

📘

Tip

You can send and track Storyly Events to Google Analytics. You can find the recipe below that Sending Storyly Events to GA4.

Storyly Events

This section shows you how to observe Storyly's basic functionality events. In order to get notification about these basic events, you should override the following functions in StorylyListener, which you have registered in Initial SDK Setup.

📘

Tip

You can also check Storyly Events

StorylyStoryShown Event

This event will let you know that stories are starting to be shown to the users. In order to notified about this event, use the following example:

override fun storylyStoryShown(storylyView: StorylyView) {}
@Override
public void storylyStoryShown(@NonNull StorylyView storylyView) {}

StorylyStoryDismissed Event

This event will let you know that the user dismissed the current story while watching it. In order to notified about this event, use the following example:

override fun storylyStoryDismissed(storylyView: StorylyView) {}
@Override
public void storylyStoryDismissed(@NonNull StorylyView storylyView) {}

Interactive Events with Tracking ID

This guide shows you how to get reactions of users from specific interactive components. You can use the following function to get reactions of your users:

override fun storylyUserInteracted(storylyView: StorylyView,
                                   storyGroup: StoryGroup,
                                   story: Story,
                                   storyComponent: StoryComponent) {}
@Override
public void storylyUserInteracted(@NonNull StorylyView storylyView,
                                  @NonNull StoryGroup storyGroup,
                                  @NonNull Story story,
                                  @NonNull StoryComponent storyComponent) {}

StoryComponent parameter informs your application about the interacted component and the details of the interaction. For instance, if a user answers a quiz, the payload will include what the right answer is and what the user's answer is. The structure of StoryComponent is different for each of the interactive components.

🚧

Warning

This event only notifies your application about Emoji, Rating, Poll, Quiz, and Countdown reactions.

Tracking ID

From Storyly Studio, application owners can give tracking ids to the interactive components. This id can be received using the customPayload field of StoryComponent.

Conversion Tracking

Storyly increases user conversion but you do not need to take our word for granted. Here we explain how to create a conversion action to track customer actions on your application so that you can measure the performance of your stories. Conversion can be any valuable customer activity on your application, such as subscriptions, purchases and form submissions.

📘

Before you begin

You need to init Storyly with unique custom parameter as described in Targeting

Whenever there is a valuable customer activity you can send it by making a post request to below endpoint

https://trk.storyly.io/traffic/<STORYLY_INSTANCE_TOKEN>

with the below json body. Note that the detail can be any property of the conversion event; such as the value of a purchase, subscription period, etc.

{
    "custom_parameter": {<VALUE_USED_DURING_INITIALIZATION>},
    "payload": {
        "event_type": "Conversion",
        "detail": {
          	price: 100,
          	product_id_list: [“123”, “456“]
            ...
            ...
        }
    }
}

🚧

Warning

You have to give same value for custom parameter during SDK initialization and conversion tracking.

🚧

Warning

Please make sure you are using the correct token.