Can we set s.pagename for Mobile Application manually?

PratheepArunRaj

Moderator

17-11-2017

Hello All,

How do we set Page Name for Mobile Application Screen?

Right now we are using Mobile Services (Mobile Marketing) to generate SDK and implement with our native app. Right now, Page Name is generated be default without configuration. But if we need to edit the Page Name,

1. Can we edit it in Coding? If yes, please advice the variable and procedure.

2. Can we edit the Processing Rules at Mobile Marketing? Under standard variables, we are unable to see Page Name.

Thank You!

Arun

Accepted Solutions (1)

Accepted Solutions (1)

joshd7227840

MVP

17-11-2017

Setting the Page Name via SDK Code -  As previously posted,  Here are the Android  and iOS SDK document entries for setting Page Name value in the trackState call. Both pages also show a similar note:

SDK_Page_Name_Entry_2 - Copy.png

Can't set the Page Name in Mobile Services Interface - As far as I know, the Mobile Services has no documentation dedicated to the interface, other than examples/references mentioned in passing throughout the SDK documentation.  Okay apparently there is some documentation (Managing your App​). But looking through it, I did not find anything explicitly stating what you cannot set via this interface, or its limitations in general. But as you yourself from looking at all the availabile config vars in the interface, it's clearly not available in there!

Setting the Page Name via regular Processing Rule - Here is the Processing Rules Documentation​. Also Processing Rules​​​ found here; basically the same info in another place, because reasons? Specifically,  Dimensions Available to Processing Rules shows available variables you can set.

PR_Page_Name_Entry - Copy.png

.josh

Answers (3)

Answers (3)

joshd7227840

MVP

17-11-2017

Within the SDK, state (page) views are tracked when trackState call is made.  You can specify the state (page) name with the first argument:

SDK Code

Android

Analytics.trackState("Page Name Here", null);

iOS

[ADBMobile trackState:@"Page Name Here" data:nil];

Mobile Services Config

Currently there is no way to set the page name from the Mobile Services App Config interface. Variables configured within the Mobile Services interface ultimately generate regular Processing Rules (PRs).  If you go to the PR config page in Adobe Analytics, you can see the rules (read only) set by them.  However, the mobile services interface does not give you access to the full capabilities of creating your own PR in the regular PR interface, because.. reasons?

Processing Rule

You can set/override the page name within the Processing Rule (PR) interface. Login to the Adobe Analytics (AA) interface, and navigate to Admin > Report Suites. Select your mobile app Report Suite Id (rsid) from the list. Then navigate to Edit Settings > General > Processing Rules.  I'm not sure what your conditions or source of value is for page name, but to set the page name value, select "Page Name" from the relevant dropdown.

A couple of warnings about this method:

Warning #1: Your implementation may make trackAction calls or other non-page(state) view calls for various reasons. Usually the previous trackState page name is included in these requests, but the Adobe collection server strips it before moving to processing rules in the processing flow. This allows for the action to be associated with the underlying page(state), but not be recorded as a separate page(state) view.   If you assign a value to Page Name, where it was previously stripped from pre-processing, downstream Adobe will record it as a full page view. Therefore, at a minimum, make a condition on your PR to only set (override) the Page Name value if it already exists.

Example:

PR_Set_Page_Name - Copy.png

Warning #2: Overriding the Page Name value via PR may cause funkiness in reports, particularly when breaking down Page Name by other dimensions or visa versa.  As mentioned above, trackAction calls include the previous trackState call's page name, and Adobe strips it so that it won't count as a page view, but it still keeps it in a separate post-process var (not exposed to PR) to associate the trackAction data to the last trackState call. So if you override the Page Name value for the trackState call in a PR, then that new Page Name will be reported. Meanwhile upstream in the actual SDK code, the next trackAction call will still have that old Page Name value, so data will be associated with that Page Name value, not your PR-set value.  There is nothing you can do about this within the PR. Therefore the recommended solution is to set it with the SDK code, and only use this solution (understanding the implications) if changing SDK code is not an option.

.josh

PratheepArunRaj

Moderator

17-11-2017

Hello Josh,

That's great. If you have any reference link to learn all the above, it will be useful for us during implementation. I don't see any of the above information in Mobile Marketing Services Help Portal.

Thank You!

Arun