mParticle

Using Plot Projects and mParticle together allows you to segment your users based on the places they visit and add a location-intelligence layer to your marketing campaigns. You can, for example, segment and send push notifications to users whom you have qualified as 'Train Commuters’ based on who visited a train station more than eight times in the last week.

Set up a Listening Campaign in the Plot Projects dashboard

Plot Projects offers a Geo SDK easily connects to the mParticle SDK. Once this is done you can create Listening Campaigns in the Plot Projects dashboard that track visits of your users.

The first step is to create the locations you want to track. This can be a single location like a train station:

mParticle polygon

Or a large set of locations:

mParticle multiple locations

Once your locations are set up, you can create a Plot Projects Listening Campaign defining the Segment you’d like users to be added after visiting the designated location(s).

When creating the campaign, set the field ‘Listening campaign Data’ with the tag value

visited_train_station

mParticle listening campaign

That’s it, you’ve finished setting up the location campaigns! Users can now be automatically added to the corresponding segments in your mParticle dashboard.

Plot Projects Listening Campaigns have many options, including:

  • Trigger on geofences, polygons and/or beacons.
  • Trigger on enter, exit or dwell.
  • Define opening hours per location.
  • Define start and end dates of the campaign.

Integrating in your app

Now that your Listening Campaign is set up, your app can be location-aware and track the events in mParticle. This integration guide is designed for Android, but also works for other supported platforms of the Plot SDK. You can find iOS documentation here After completing the integration guide, if a user enters the station, Plot triggers a mParticle event that will show up in the mParticle dashboard.

Android integration

Start with the Plot Projects integration guide and the mParticle integration guide. After integrating both libraries, you can track geotrigger events from Plot Projects in mParticle.

To receive geotrigger events from Plot Projects, create a class that extends GeotriggerHandlerBroadcastReceiver. To track the geotrigger event you call the mParticle API from that class.

public class MyGeotriggerHandlerBroadcastReceiver extends GeotriggerHandlerBroadcastReceiver {
    private static final String LOG_TAG = "MyGeotriggerHandler";
    @Override
    public List<Geotrigger> handleGeotriggers(List<Geotrigger> list) {
        for (Geotrigger geotrigger: list)
            String data = geotrigger.getData();

            MPEvent event = new MPEvent.Builder(data, EventType.Location)
                                       .duration(100)
                                       .build();

            MParticle.getInstance().logEvent(event);

            Log.d(LOG_TAG, "track mParticle event: " + data);
        return list;
    }
}

The MyGeotriggerHandlerBroadcastReceiver, presented above, records an event for mParticle using the data field set in the dashboard as key.

To let Android find the receiver, add it to AndroidManifest.xml

<receiver
    android:name=".MyGeotriggerHandlerBroadcastReceiver"
    android:permission="false">
    <intent-filter>
        <action android:name="${applicationId}.plot.HandleGeotriggers" />
    </intent-filter>
</receiver>

What's next

Users are now added automatically to the corresponding segments in the mParticle dashboard. You can now target or create location-based marketing campaigns for these segments.