Snowplow SDK and Webhook Configuration
In this article, we'll guide you on configuring a webhook to send information from Snowplow to Meiro Events. Snowplow is a powerful mobile analytics platform that allows developers to track events in mobile apps. By setting up a webhook, you can receive real-time event updates from Snowplow and integrate them into your Meiro Events system for further analysis and actions.
Deploying Snowplow SDK on mobile
Tracker installation
Within this article, you'll discover the installation of the Snowplow tracker on your mobile application.
Tracker configuration
1. Aim the Snowplow event collector URL to the Meiro Events mobile endpoint by following this link. Example:
val tracker = Snowplow.createTracker (
applicationContext, // Android context (LocalContext.current in Compose apps)
"appTracker", // namespace
"https://your-meiro-events.instance/mobile" // Meiro Events endpoint for Snowplow events processing
)
2. Set the customPostPath
in the Snowplow’s network configuration to an empty string. Refer to the Snowplow iOS tracker documentation here for more details on this configuration.
This will ensure that the Meiro Events endpoint always stays the same.
Start tracking
Everything is configured, and you should see the triggered events in your Meiro Events dashboard in the /snowplow
endpoint.
Events example
In Snowplow, webhooks can be triggered by various events related to mobile app tracking and analytics. These events can include platform and application context tracking, session tracking, and more. When these events meet the specified trigger criteria, the webhook will promptly send the relevant information to the designated URL.
Learn more: To gain a deeper understanding of handling Snowplow, refer to the official documentation for comprehensive guidance.
Events Tracked Automatically
The events listed below can be tracked when the Mobile SDK is initialized on mobile, provided that auto-tracking is enabled in the tracker configuration.
Platform and Application Context Tracking |
Captures contextual information about the device and the app. Example of events tracking application data:
|
Session Tracking |
Captures the session, which helps keep track of the user activity in the app. A session expires when no tracking events have occurred for the amount of time defined in a timeout (by default 30 minutes). Example of event:
|
Screen View Tracking |
Captures each time a new “screen” is loaded. Example of event:
|
App Lifecycle Tracking |
Captures application lifecycle state changes from foreground to background and vice-versa. |
Exception Tracking |
Captures any unhandled exceptions within the application. Exceptions can crash the app, so it's likely that the event will be sent after the restart of the app. |
Installation Tracking |
Captures an install event that occurs the first time an application is opened. The tracker will record when it's first been installed, so deleting and reinstalling an app will trigger another install event. If installation auto-tracking is not enabled, the tracker will still keep track of when the app was first installed so that when enabled, the tracker will send the recorded install event with a timestamp reflecting when it was first installed. |
Learn more: about events tracked automatically
Event enrichment
All the events may be enriched by additional data:
IAB |
Use the IAB/ABC International Spiders and Bots List to determine whether an event was produced by a user or a robot/spider based on its' IP address and user agent. |
User Agent utils |
Deprecated - please consider switching to YAUAA. |
UA parser |
Parse the useragent and attach detailed useragent information to each event. |
Currency conversion |
Convert the values of all transactions to a specified base currency using Open Exchange Rates. To use it, you need an Open Exchange Rates account. |
Referer parser |
Extracts attribution data from referer URLs. |
Campaign attribution |
Choose which query string parameters will be used to generate the marketing campaign fields. If you do not enable the campaign_attribution enrichment, those fields will not be populated. |
Event fingerprint |
Generate a fingerprint for the event using a hash of client-set fields. Helpful for deduplicating events. |
Cookie extractor |
Specify cookies that you want to extract if found. |
HTTP Header extractor |
Specify headers that you want to extract via a regex pattern, if found each extracted header will be attached to your event. |
Weather Enrichment |
Unavailable since Enrich 1.4.x. |
YAUAA |
Parse and analyze the user agent string of an event and extract as many relevant attributes as possible using YAUAA API. |
IP lookups |
Lookup useful data based on a user's IP address using the MaxMind database. |
JavaScript |
Write a JavaScript function that is executed for each event. |
SQL Query |
Perform dimension widening on a Snowplow event via your own internal relational database. |
API Request |
Perform dimension widening on a Snowplow event via your own or third-party proprietary http(s) API. |
IP anonymization |
Anonymize the IP addresses found in the user_ipaddress field by replacing a certain number of octets with "x"s. |
PII Pseudonymization |
Better protect the privacy rights of data subjects by pseudonymizing collected data. |
Learn more: about available enrichments for the events tracked
Use cases
Snowplow can be a valuable component within a Customer Data Platform, providing advanced event tracking and analytics capabilities. Here are some practical use cases for Snowplow with Meiro:
- Real-time Customer Insights: Snowplow's real-time event processing capability lets you gain immediate insights into customer behavior.
- Segmentation and Personalization: By leveraging Snowplow's event data within CDP, you can create detailed customer segments based on behavior, preferences, and engagement patterns. These segments enable you to deliver personalized messaging, recommendations, and offers, enhancing customer engagement and conversion rates.
No Comments