Expand my Community achievements bar.

SOLVED

Global Report Suite including mobile app data

Avatar

Level 5

Hi!

We have a global report suite set to get data from all our websites. However, it was not including our app (it can redirect to our sites also). So I went to the report suite, enabled the app data, went to the app data collection property, and also added the global report suite there.

When I go to our report on analytics and try to create a flow using report suit as an entry point, the app report suite does not show there. Is there something else I should do? For the sites, we also mapped out the report suite as an eVar. Would that be the issue? that we don't have a report suite eVar set for the app?
If it is the later, how can I set an eVar for mobile app now that we don't have mobile services anymore? is it through launch like a website (after creating the eVar) or via RS using processing rules?

thanks in advance

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Ah, sorry, you would have your developers set the value. 

 

So I often have a mix of values that are set by page (stuff like the category, the asset id, the title, etc... stuff that will be driven by the data and what is currently loaded.

 

The I will have stuff which is basically set and reused which is specific to the app itself... which app is it (we have three), the code version of the app and the build number (we don't force upgrades, so we need to know which version users are on - and while yes this is also sent in some of the standard metrics, having these pieces allow me to have a little more control), etc.

 

In your case, the report suite won't change in the middle of using the app, so your developers can set the value once, then attach it to all calls (or as I said, you could use Adobe Launch to just append this - which might be easier....)

 

The code base of your app will change the syntax of how the value is set and attached to the calls, so you may want your developers to check https://developer.adobe.com/client-sdks/documentation/ or https://aep-sdks.gitbook.io/docs/ 

 

Basically you would use something like:

 

MobileCore.track(state: "state name", data: ["key": "value"])

 

 

Where "key" would be "myapp.ReportSuite" and "value" would be "reportsuitea" or "reportsuiteb", etc

 

 

 

OR you can append it in your Launch like so:

Jennifer_Dungan_0-1674053968347.png

 

{
    "contextdata": {
        "myapp.ReportSuite": "reportsuitea"
    }
}

 

 

(set the context variable name "myapp.ReportSuite" to your naming convention, and the value "reportsuitea" to your report suite)

 

 

The rule trigger looks like:

Jennifer_Dungan_1-1674054031147.png

 

 

 

Make sure to create a similar rule for actions as well as states, and maybe even for "Launch" events.

 

This will append your context variable to your server calls, and since the value of the report suite shouldn't be changing (unless you are using one Launch property to drive multiple suites - then this won't work)

 

 

Next, no matter of using processing rule....

 

In your reportsuite admin, General > Processing Rules

 

I like to check for app id (to make sure I don't accidentally target web traffic in the suite), you can add multiple conditions, then I choose to "overwrite" eVar5 with my context variable like so:

Jennifer_Dungan_2-1674055272070.png

 

Make sure you test this first in a QA or Dev suite... processing rules will change the value of your dimensions, so you want to be sure the rules are working correctly before adding to prod... if something breaks there is no way to get the old values back.

View solution in original post

22 Replies

Avatar

Community Advisor

Without seeing your implementation in action, it's hard to say... maybe your processing rule condition isn't "passing", therefore the eVar isn't being set... or maybe you are testing a QA version of the app but you only added the rules to Prod (or vice versa)... or maybe the value of the context variable is being set as a null value for some reason... this is why testing is so important, or maybe your developers are only sending trackAction calls and you only configured trackState calls...

 

It's very hard for me to diagnose from a distance.

 

------

 

Being able to see what is being set even using proxy testing such as Charles would help to see what is happening... AEP Assurance would be better as then you can also see the result of the post processed value.

 

------

 

I've never actually used that.. it might already populate with the Report Suite you are using... 

 

Of course... IF you need both QA and Prod to send the prod data; this may not work for you... since I really don't know how you are using this data and where.

Avatar

Level 5

Jenn, just to give you a feedback, both options: a.appid and the second you gave me worked. The mistake I made was that I was looking into the global report while I created the rule for the qua report suite. It was already working, so afterwards I also created the processing rule for the global report and it is working fine.

Just have to debug to see if it is working well!


Thank you!!!