Tealium - Android - Adobe Analytics

Bronze Contributor
Bronze Contributor

I'm just starting to work with Tealium for a client for an Android application (will also be using in an iOS app later).  I'm not really understanding everything yet so parden me if I'm not asking the correct questions or have the correct information.

I know we will be sending our analytics data to Adobe Analytics through Tealium.  I can see in iQ that my client has setup mapped variables for an Adobe Analytics tag (I'm assuming my client did it unless these are just defaults).

I've got the code setup in the Android application, so it's doing the initial configuration (Tealium.Config.create()) and I can call the trackView() and trackEvent().

But what I'm not understanding is how my calls to either of these methods get to the Adobe Analytics.  I don't know if there is other setup that I need to do or what else is needed to get my data to Adobe.

Can anyone help me either with a little more understanding of this or point me to any more documentation that might explain this?  I've gone through the Android setup doc which got me this far.


Tealium - Android - Adobe Analytics

Tealium Employee

@JMharo Looks like you're most of the way there!

When collecting mobile data for the Adobe Analytics tag through Tealium, you'll need to add the Tealium Android SDK to you app, as well as add the tag to you TiQ profile. We also recommend to add and enable the Lifecycle Module to collect lifecylce metrics.

The Tealium Android SDK + Lifecycle module automatically collect app & device data for you (see here & here). This data gets sent when trackEvent() or trackView() is called. The track calls trigger TiQ to bind the data in the Mappings and fire the Adobe tag. I'm not sure what data points are set up in your data mappings, but if your clients are expecting more data than what is already sent from the SDK, you'll need to add custom data to be sent to TiQ.

There are a few ways to send custom data.

1) You can pass a map with your data to a track call:

final Map<String, Object> data = new HashMap<>();
data.put("foo", "bar");
data.put("baz", new String[]{"foobaz", "foobar"});
instance.trackEvent("initialization", data);

*This data is sent with this single track call and is not sent on subsequent track calls.

2) You can add custom data to persistent data

SharedPreferences sp = instance.getDataSources().getPersistentDataSources();
sp.edit().putInt("foo", "bar").commit();

*These are lifetime values and get added to all track calls for the lifetime of the app.

3) Add data to volatile data

.put(KEY_TEALIUM_INITIALIZED, System.currentTimeMillis());

*These are runtime values, and get added to all track calls for each app launch.

Please let us know if you require more help.