Offer events in product scenarios
Mobile apps often implement multi-step user scenarios, such as:
- marketing offers
- purchasing products and services
- user funnels
- process steps
- applications and approval results
- asynchronous S2S results
To analyze events in multi-step scenarios, we recommend using the Product Flow approach — instead of arbitrary custom events, use offer events marked according to the key stages of product scenarios:
- offer impression
- flow start
- intermediate steps
- final result
Sending offer events doesn't count toward paid limits for custom events and DSA and doesn't affect the plan price.
How offer event data is calculated
Data is sent by the SDK for each offer event. All offer events in AppMetrica are associated with users, and metrics are calculated based on this data.
Events
| Event | Description |
|---|---|
offerShown |
The user saw an offer or promotion (banner, pop-up, push notification, button, card) |
flowStart |
The user started the product flow (activated the scenario) |
flowStep |
Intermediate flow step (uploading documents, selecting a plan, confirming) |
flowResult |
Final scenario result (success, rejection, cancellation, pending) |
Metrics
| Metric | Description |
|---|---|
| Offer impressions | The number of offerShown events during the reporting period |
| Users who saw the offer | The number of unique users who saw the offer during the reporting period |
| Flow starts | The number of flowStart events during the reporting period |
| Users who started the flow | The number of unique users who started the flow during the reporting period |
| Flow steps | The number of flowStep events during the reporting period |
| Completed scenarios | The number of flowResult events with the success status during the reporting period |
Conversion offerShown → flowStart |
The ratio of flowStart events to offerShown events |
Conversion flowStart → flowResult |
The ratio of successful flowResult events to flowStart events |
| Average number of steps | Average number of flowStep events per scenario |
Multi-step scenarios are especially common for apps in the following industries:
- Banking
- Insurance services
- Telecom
- Booking and travel services
- Subscription services
- Delivery services
- Marketplaces
- Games
For these industries, we've prepared detailed examples of how to implement key product scenarios. See the Product flow examples section.
Migrating from custom events to Product Flow
When using custom events, you may encounter the following issues:
- The same steps have different names, making it difficult to match events.
- It's difficult to compare scenario performance.
- It's difficult to analyze conversion between stages.
- Funnels can't be built automatically.
- It's difficult to build standard reports.
- Analytics don't transfer well between teams.
If you already use custom events, you can migrate to Product Flow gradually by sending new offer events alongside your existing custom events. Offer events don't count toward the custom events limit. This lets you first verify that the migration is correct and the data is complete, and only then stop sending the corresponding custom events.
Setting up offer event sending
Setting up offer event sending using the SDK
Step 1. Activate the SDK
Make sure that the AppMetrica SDK is activated in your app:
Step 2. Set up offer event sending using the SDK
Select the platform and integration method and set up the appropriate SDK methods:
Debugging
AppMetrica doesn't let you segment events into test and non-test events. If you use the main API key to debug offer event data collection, test events will be included in the overall statistics. Therefore, use a reporter to send data to an additional API key for debugging.
Learn more about the reporter
Checking data in reports
After setting up offer event sending, make sure the events are being received by the system. Metrics are available in the Offers report.
When building a report, you can, for example, select only users from a specific region or users who performed certain actions. You can do this using segmentation.
If you didn't find the answer you were looking for, you can use the feedback form to submit your question. Please describe the problem in as much detail as possible. Attach a screenshot if possible.