Expand my Community achievements bar.

SOLVED

Mobile app page mapping

Avatar

Level 5

Hi,

we are new to setting up mobile apps and are struggling to create a flow with the pages of our app to check our user flows inside it.

I´ve been trying to find documentation to send to our devs about how they should set up page names so we can map it out on adobe. 
Do you know where I can find documentation about it?

Also, after our dev team sets up the code, how can I map it on the report suite? we were previously using mobile services and automatically switched to RS.

thank you

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Adobe has a tutorial for implementing Mobile SDK in your apps: https://experienceleague.adobe.com/docs/platform-learn/implement-mobile-sdk/overview.html?lang=en That might help you get started too.

View solution in original post

3 Replies

Avatar

Level 4

I just suffered through this experience. Here's the most important thing to know - "Mobile tracking is VASTLY different than web tracking. For web - you have the full power of DOM listeners to fire any event at any time you want. For mobile - You need to plan up front and have the APP fire the correct trackState"

That being said ...

Links of interest first ...

For the last link - Make sure "global.privacy" has a value of optedin. This is important later for testing. (There might be other ways to set the privacy flag - but setting `optedin` is very important (otherwise - events wont really fire)

 

Your mobile app developer can call 1 of 2 methods
• MobileCore.trackState – Think of this as a new screen or page appearing.
• MobileCore.trackAction – The user did something. Like click, swipe, etc.

 

Each call allows for a dictionary/hash/bucket/map as the second arg,  which for simplicity we'll call `additionalContextData`

 

`additionalContextData` should contain anything of interest that the mobeil dev needs to add which will eventually get mapped into a prop or evar (or be used as a filter)

 

So now we need to back track a little bit. You need to create 2 more things in the Adobe Marketing cloud. (I'm assuming the reader knows how to do these)

  • Adobe Analytics report suites (dev,stage,prod editions)
  • Adobe Launch Property (as a mobile)

Important notes for the Adobe Analytics suites.

  • ReportSuite admin for each suite "General -> Server Side Forwarding" - make sure this is checked
  • Also under General is Processing Rules - This will be important soon

Now back to Adobe Launch / Data Collection. In it add the Adobe Analytics extension so you can configure the suites to use for tracking. Additionally - in the hosting options - forward the snippet with the ID's for dev/stage/prod to the mobile app developer to load the correct ruleset from launch. (Tip - Ask your dev to allow the app to be loaded with a query string feature flag where by default the production rules are loaded - but you can launch the app with a custom URL handler such as `my-app://default?mode=dev` so when the dev sees `mode=dev` - they use the development ID for launch config.) Also create a rule in Adobe launch to listen on app launch and you can fire your own track event.

 

At this point - lets assume the following is done

  • Mobile dev sprinkled in a trackState and/or trackState in a few spots in the app.
  • The Analytics suites are setup
  • The dev Adobe Launch property is published
  • The mobile dev is using the dev launch property id
  • privacy options are OK
  • Adobe analytics server side forwarding is set

Congrats. You at this point should theoretically have data flowing into Adobe Analytics. That's the good news. The bad news is 2 fold (so far)

  • You don't have custom data mapped in
  • You have know way to real time test

So lets fix these 2 things next.

 

Custom data mapping

Recall earlier I mentions the hash of `additionalContextData` ... That's coming in handy now. Back in Adobe Analytics report suite admin. There is the "processing rules" section. It is here you will map context data to props and evars. How? You may create as many rules as you like to map each variable. Additionally - You can also use conditions on rule firing as well as variable setting too. So with a good naming convention and planning up front  - you can minimize your rule set. The important note is unlike Adobe Launch for web properties where you can set all the props / evars in Launch - with mobile - All the data goes into the contextData and then is mapped as processing rules.

 

Testing

Introducing project griffon. Griffon is a server side tool that lets you listing on all the mobile events which fired. Additionally - There is a Adobe Analytics view which lets you see the end result *after* the Adobe Analytics processing rules ran their logic on an event.

 

The URL for griffon is https://experience.adobe.com/#/@YOURCOMPANY/griffon/

 

Here is a really high level set of steps for using griffon. 

  • Make sure your mobile app has a custom URL handler. This means you can launch your app via a URL instead of clicking the icon of the app. I alluded to this earlier with the "tip". Also be sure when developing MULTIPLE apps - Each app has a unique handler.
  • In Griffon - When you want to create a new session - It'll ask for the URL handler (from the previous step)
  • Then griffon will append to that unique string and provide you a NEW url to launch your app as well as a QR code (so you don't have to type in the code)
  • When the app launches via the QR code - you should be prompted with a 4 digit code which should've been on the griffon screen with the QR code. Once you enter that successfully - You should see in your griffon page (web browser) lots of event fire.
  • If adobe analytics doesnt appear as a menu option on the left of the griffon screen - there is a toggle option to let it appear. Clicking that will show you JUST the adobe analytics events. 
  • MOST important - it'll show you the 2 things you want the most (in 2 different sections)
    • Data the APP fired/sent
    • The end result of the adobe analytics event (what will eventually appear inside of analytics reporting)

 

Hope this helped. I know this was long but I only wanted to call out the pain points we had in discovering this and gloss over the stuff which I hope was pretty rudimentary.

 

Avatar

Correct answer by
Community Advisor

Adobe has a tutorial for implementing Mobile SDK in your apps: https://experienceleague.adobe.com/docs/platform-learn/implement-mobile-sdk/overview.html?lang=en That might help you get started too.

Avatar

Level 5

Thank you!
I'm checking it out now. In this specific case, all the setup was already done using mobile services, so we are already getting data from the app- But for some reason, the flow visualization does not work for the app and I believe that it´s because the pages names for the app were not setup...

I now need to send the dev team the correct documentation showing them how to do/fix this.