mParticle provides multiple data flows to ensure different kinds of data travel from a client application or the web (input) to a destination (output).
Data about an event, including individual attributes, may be forwarded from the input to an output in a variety of ways:
Some integrations allow you to choose either server-side or client-side when you configure a connection.
No matter which data flow your integration uses, a connection is required. A connection is the combination of an input, an output, and the configuration information required to make the connection work. Most of the configuration information is specified in the mParticle UI, but some values may need to be fetched from the output, and you may need to add a kit to an SDK for some client-side integrations.
The Connections screen controls how event data from your inputs (iOS, Android, Web, Feeds, etc) is forwarded to your output platforms. You must set up a separate connection for each input-output-configuration combination. For each connection, you have several opportunities to cleanse and filter your data, to ensure that each output receives the data you want it to receive, in the correct format.
Each output has its own requirements, so the process for setting up each connection is a little different. However, all connections require these basic steps:
Data flows once an input and output are connected and the connection is active. For an overview before you create your first connection, view the following video:
1. Select an input
2. Apply ‘All Outputs’ transformations
Once you have an input selected, you can set up transformations that are applied to all outputs connected to that input. Click All Outputs to see options.
There are two transformations that can be applied here:
3. Select an Output
Once you have selected an input, you will see a list of available outputs that can receive data from your selected input. If this list is empty, go to Setup > Outputs to create some outputs.
The following video shows how to create an output:
The mParticle UI may indicate that you need or may need to add a reference to a kit in your platform dependency configuration. You can do this after you create the connection but before you change the Connection Status to active. See Add a Kit for more information.
4. Complete Connection Settings
Complete any settings that apply to the connection. These will be different for every output but can include:
The minimum platform version of your input that the connection will forward data from.
If you set the Min Platform Version connection setting, then mParticle will only forward data from inputs with an application_version
that is equal to or greater than the version you set. This allows you to create a separate connection for different versions of your app.
5. Apply ‘Specific Output’ transformations
The second set of transformations apply only to your selected Output. Click Specific Output to see options. Specific output transformations include:
When you configured your output in step 3, the mParticle UI may have indicated that you do need or may need a kit added to the SDK for your app or web pages:
If so, check the integration documentation for your output. If a kit is required, follow the instructions for adding the kit to your input platform dependency configuration.
After you have completed the required settings, set up any transformations, and added a kit (if needed), you are ready to activate the connection:
Very large data volumes may take up to 48 hours to process. To reduce processing time, reduce the number of sessions your account sends to fewer than 200,000 per day.
Verify that data is flowing. Check in the mParticle UI and in your downstream app or system (output).
Open Data Master > Live Stream and select the following values:
If you don’t see events being forwarded, troubleshoot your connection.
To verify that data is arriving n the downstream system:
If you don’t see events being forwarded, troubleshoot your connection.
Follow these steps to troubleshoot an event connection:
Still not sure what’s wrong? Contact mParticle Support.
See Rules for more information on all-output rules.
mParticle lets you customize the data that you send to each output. There are many reasons to do this, including:
Unlike other transformations, the data filter exists on its own page, separate from the Connections screen. A data filter allows you to decide which events/attributes you want to send to each output. By default, all event attributes are enabled when you first activate a connection. From the event filter you can:
See The Data Filter for more information.
Like the event filter, forwarding rules let you filter out events from being sent to an Output. But where the event filter is based on event and attribute names, forwarding rules look at values, which lets you build some more complex conditions. There are several types of forwarding rules.
User Sampling is applied to a single output and sends only a subset, or sample of your data to an output. The main reason to do this is to control costs on services that charge by volume of data. Data is sampled on a user level, not an event level - if you select a 50% sample, mParticle forwards all data received from half of your users, not half of each user’s data.
See Rules for more information about specific-output rules.
Some services allow your incoming events to be translated into events specific to the service. For example, if you have a custom event named “NextLevel”, typically this event would be forwarded as a custom event to a service. With custom mappings, you can specify that this event be forwarded to a service using their specific event name. For example:
Integration | Integration Description | Integration Event Name |
---|---|---|
Criteo | User Level Finished | UserLevel |
Achieved Level | fb_mobile_level_achieved |
For partners that support custom mappings, the output’s events are listed on the left side of the Custom Mappings tab. For each event, you can then select an mParticle event and associated attributes to map to the partner’s event.
The following integrations support custom mappings:
If an event has a Custom Mapping for a particular connection, it will be displayed with an icon in the Event Filter
If you turn off forwarding of an event with a Custom Mapping, the mapping information will be deleted.
The final and most crucial transformation step is the mParticle Forwarder Module itself.
After all your other transformations have been completed, the forwarder module turns your data into messages to the output in its preferred format.
Each integration has its own forwarding module. Settings for the forwarder are derived from three places:
Based on these settings, mParticle transforms your data into a format accepted by the output. This can involve extensively reformatting the data. For example, Mixpanel’s API accepts events, with attributes given as a flat set of key-value pairs. To fit this structure, a single mParticle eCommerce event with four products will be transformed into four Mixpanel Events - one for each product - with common attributes, such as user and device info, repeated for each event.
The documentation for each integration will tell you what you need to know about how data is transformed to be accepted by the Output service.
mParticle provides many opportunities to transform and enrich your data. It is often possible to perform the same transformation in more than one place. For example, if you wanted to drop all Application State Transition events for a given output, you could use the event filter, or you could write a condition in an output rule. There are advantages to each choice. The event filter can be used by anyone with the appropriate access to your organization in the mParticle Dashboard, so it is easy to update and maintain. Writing a rule gives you much finer control over your data, but rules may be difficult for non-developers to understand or alter.
Make the necessary transformations to your data in as few steps as possible. The fewer times you alter your data, the easier your integration will be to troubleshoot and maintain.
To find out more about event integrations in mParticle, view the following video:
Was this page helpful?