Expand my Community achievements bar.

Submissions are now open for the 2026 Adobe Experience Maker Awards
SOLVED

Adobe ACP Mobile SDK - "&&& product" context data implementation

Avatar

Level 4

I have a ACP mobile sdk implementation using trackState and trackAction calls. Now the devs are sending data using "&&products": ";Category: infinite;Product: 160GB, Talk & Text - Plus;Quantity: 1;Price: 75.0". How do i populate it up in Adobe analytics? I tried mapping it to an eVar using processing rules but when in context data variable i typed : &&products it turned the value into products and it is not working. 

 

Please Suggest me the best solution as it is urgent 

1 Accepted Solution

Avatar

Correct answer by
Community Advisor and Adobe Champion

Yes, if the event is a purchase, pass &&events=purchase, if it's an "add to cart" pass &&events=scAdd

 

If you have custom events (ones that aren't merchandising, but are sent on the same action, then you will want your devs to add those:

 

&&events=purchase,event1

 

For example.

 

 

Other events, that you can determine with processing rules can stay in your processing rules.... so I have our devs code the specific events for s.products, and use Processing Rules for the other events... they will work together. 

 

But since you cannot see or read what is happening in s.products in processing rules, your developers should implement it, to make sure everything is clean.

View solution in original post

28 Replies

Avatar

Level 4

What about orderReview page, we have events.orderreview on the website. How do we pass this along scCheckout

contextData["&&events"] = "scCheckout",events.orderReview

Is the above correct format?

 

 

Avatar

Community Advisor and Adobe Champion

I am not a mobile developer... I am a web developer... if this works like other languages, I would say no....

 

Normally, adding values together would use "+"

 

I assume that event.orderReview is a variable that holds a value like "event1" or "event2" etc.... 

 

I am not sure what language your app is using so I can't say for sure the full and proper syntax... but assuming that the value of the variable is "event1", I would expect to see something like:

 

contextData["&&events"] = "scCheckout," + events.orderReview 

 

But, if I were developing this... I wouldn't bother with a variable for each event use... I would create a generic variable like "myEvents"

 

and use:

contextData["&&events"] = myEvents;

 

For each usage, I would then populate my events with the list of events I need:

 

  • ""
  • "scCheckout"
  • "scCheckout,event1"
  • "scCheckout,event1,event2"
  • etc

Building out the list of events to pass based on the page or action and what is required.

Avatar

Level 4

Hi @Jennifer_Dungan ,

 

I am able to get the product information into Adobe analytics now but for some reason the purchase event, i cannot get it in Adobe. Let me know if the below format is correct?

 

trackState ["signin.status": "signed in", "buyflow.name": "PPC", "app.hierarchy.level3": "ppc", "events.buyFlowComplete": "true", "account.CTN": "411644c3cbef2eb242b8919928813d7f731fd8be1d102c27037178c315788f83", "app.hierarchy.level2": "plan", "page.province": "", "miscellaneous.type": "ppc for 0 products", "page.ICMTimestamp": "Friday|1/31/2025 11:45", "miscellaneous.name": "forced: 0, unforced toggled ON: 0, unforced toggled OFF: 0", "app.mcid": "75529446474952023108561795571708831506", "page.language": "en", "&&events": "purchase", "account.ID": "1a5376ad727d65213a79f3108541cf95012969a0d3064f108b5dd6e7f8c19b89", "events.miscellaneous": "true", "page.name": "MyRogersApp:wireless:plan:ppc:checkout-order complete", "account.type": "Consumer|CTN|Unconsolidated", "&&products": "wireless;WBKM4223L:Share Everything 25GB-No Tab;1;60.85,wireless;CONM422J8:Additional Line - No Tab;1;60.85,wireless;CONM422J8:Additional Line - No Tab;1;60.85", "app.advertiserID": "00000000-0000-0000-0000-000000000000", "app.trackingTransparency": "Ask App not to Track", "account.BAN": "1a5376ad727d65213a79f3108541cf95012969a0d3064f108b5dd6e7f8c19b89","profile.username": "9956d6a8168de87560ad6918838818f2c3a1995f2575285da6609a748322863c"]

Avatar

Community Advisor and Adobe Champion

While I am not an app developer, that doesn't look right...

 

The syntax of trackState only allows for two items... the page name, and the data object passing all the values as a single object... you have every value as a it's own item.

 

Example:

var dictionary = { };
dictionary["myapp.login.LoginStatus"] = "logged in";
ADBMobile.analytics.trackState("Home Screen", dictionary);

 

 

All of your items (signin.status, buyflow.name, etc) should be a part of the "dictionary" object. You can call it whatever you want, we just call ours contextData... but the principal is the same... 

 

If that is the actual code being used, I don't understand how it is working at all, that should just error out.

 

Now, ignoring the code issues with the trackState, that looks correct.. The events and product both look like they are properly formatted to me... 

 

Do you have AEP Assurance installed in your apps, so that you can see the data going to Adobe as well as the post-processed values? This is the best way to try and debug what is happening.. 

 

You said that the other data in that call was coming through?

Avatar

Level 4

Here is the screenshot from AEP assurance

 

&& events = purchase

jaishal_0-1738349486920.png

 

For other events, we are passing : &&events = prodView and &&events =scCheckout . Looks that data is coming into Adobe. 

 

Does &&events = purchase fall into "Sales" Metric?

jaishal_1-1738349659224.png

 

Avatar

Community Advisor and Adobe Champion

Generally "purchase" is "Orders", however, this metric is renamable in your Report Suite:

 

Jennifer_Dungan_0-1738349935092.png

 

Avatar

Level 4

Yes looks like purchase is renamed as "Sales"

jaishal_0-1738350188113.png

 

Also a quick question, I see purchase event has participation "enabled" and other events has participation "disabled" . Which one is correct?

 

Avatar

Community Advisor and Adobe Champion

Ah, good, then yes, Sales is the metric.

 

The funny thing about "participation" in this context, is that it doesn't actually work in Workspace.. this is an old setting that was used in Reports and Analytics...  There are better ways to look at "Participation" attribution in Workspace itself.

 

So for example, your "purchase" event is made from a success page, but maybe you want to see all the Product Detail Pages that were viewed during the visit leading up to that purchase (i.e. what product details participated in driving that sale).

 

If you use your Sales metric, and use Product Detail Pages as your breakdown, they will show 0 sales... but if you change the attribution of sales (in workspace) to a participation model looking at the visit, you will now see values associated to each of those product detail pages...  i.e Product X will show 10 sales, while Product Y will show 7. They may not have been purchases, but they were at viewed in the session prior to the purchase being made.

 

Since I really don't think these settings do anything any more, you can probably leave them as is... if you want to be safe, I would reset them to the default "no participation"... just in case this causes some oddities in Data Exports, etc.