Tracking Actions (AKA Custom Links) in a Mobile App with the Experience Platform SDK tracking-actions-aka-custom-links-in-a-mobile-app-with-the-experience-platform-sdk

Actions are events that occur in your mobile app. In this video, learn how to use the trackAction API to track and measure an action.

In this video, - I wanna talk about the Adobe Experience - Platform SDK and using the trackAction API - to track mobile app actions. And so actions, as you can see - up here in the documentation, are events that - occur in your app, and we’re gonna - use this API to track and measure - those actions. It could be, as you can see - here, a new subscription or an article is viewed, - or a level is completed, or a click on something, - or whatever really is not a screen view - or a page view, because those are normally - tracked with trackState, but anything else that is - not a screen coming up, like a page coming up, you’re gonna wanna - track with trackAction. And we want - to look at how that will affect - your Adobe Analytics and how that hit that - comes from the app will send stuff into - Adobe Analytics, so that’s what - we’re gonna do. Now, - looking at the examples here, you’ll see that we have - Objective C and Swift examples as well as Android and I - wanna look at the example here and notice that, - when we call this library ACPCore and trackAction, we are then going to - put in an action name. Now, this hit that comes - from using this API is basically the same as - a web property using or a track link or also - known as a custom link hit. So this action name - will be kind of like that custom link hit and we - will see that in the beacon and we’ll take - a look at that in the debugger in - just a few moments. In addition to - that action name and saying what is - actually happening when this trackAction - is fired, you can also send - additional data points in, so you might wanna send - in one key value pair, like this example shows or you - may not care to send in any or you probably will want - to send in at least one, but you might even want - to send in more than that. So we’ll take a - look here in Xcode to see how you - can do that, so let’s jump - over there now. Okay, so I do need to back - up potentially a little bit, before we really talk about - the trackActions down here and show that we do need to - import the ACPCore library. Now trackAction, - along with trackState as well, you might have thought they - would be in Analytics API or in Analytics - method/function, but it really - belongs to the core and it’s been moved there, - because we might want to inform other solutions that this - trackAction has happened. But in this case, again, we’re gonna talk - about analytics today. So you definitely need that - import ACPCore on the page where we’re gonna have - this trackAction called. Now you’ll see on this - page, on this example page, that I have trackStates - up here as well and I just wanna use - that as the example for additional - data being sent, because I don’t need to - have it in both places. But where you can see - that the data is up here, you can send data: nil, - if you don’t wanna send any data, you could send one - key value pair, you could send multiple - key value pairs by sending a comma - separated list or you can send in a data - dictionary object here and that would - be fine too. So you can do all these same - things with trackAction as well since you also have this - data parameter here. So in our example here of - how we are using trackAction in this example, - in this video, we are just going to send - in one key value pair. We’re gonna send in… After data, - we’re gonna send in NonStop equals off - or NonStop equals on. So what we’re really - doing here in this example is we are just tracking - the interaction with this checkbox - here on our app. So I’ve got the simulator - up and when we check it, it is going to run the code - down here that sets it to true and then runs - our trackAction, which sets NonStop Button - Interaction into our action name and then sends additional - data for NonStop equals on and when we turn it off, - just the opposite will happen and we will - set it to off. So I’ve already got - it up and running and so, all we really need - to do now is take a look, so I’m going to actually - drag this over here a little bit if I can and - bring up our debugger, and when I click that, - we’ll see that a hit comes in and we will see in this hit - that it has the parameters that are consistent - with a custom link hit or this trackAction hit, - where you’ll have a page event or PE variable - set to lnk_o and then, we also have - the other parts of it, which is again, - our NonStop Button Interaction, that is what was - set as our name. You can kinda see that back - in the background there, NonStop Button Interaction - and that comes in, not only as the action - that is happening here, but also in this page event - two or this pev2 variable for AMACTION:NonStop - Button Interaction. So those both come across - and then our additional data is right up here as - NonStop equals on. Now if I deselect it, - it sends in another hit, says NonStop equals - off and then of course, these are the - same down here, where it is interaction - with a NonStop Button. So these are the kinds - of things that you’ll see and that additional - data will come across in a context data block. So you’ll see here, - this context data block, that we have some Adobe - Lifecycle information here and then we also have - the context data, in this case, just that - extra one key value pair. And so, - that is how you use trackAction, hope that was - helpful, good luck. -

This is the API that you should use to track all non-screen-load actions on your site. If the screen is coming up, then use trackState, which triggers a page view hit. Otherwise, use trackAction to send in variables associated with the action that is taking place.

This data comes in as contextData, which also means that you will then need to use Processing Rules to take the mobile data from those contextData variables and map it into eVars, Props, Events, etc. in Adobe Analytics.

For more information about trackAction, please see the documentation.