Expand my Community achievements bar.

Submissions are now open for the 2026 Adobe Experience Maker Awards

Edge Send Event for Adobe Analytics - XDM schema question

Avatar

Level 2

Context:

  • This is Mobile app implementation
  • we are successfully receiving pageview events, events, props, and evars without mapping, by simply doing the below (getting the mob dev team to send an XDM in the payload that matches the _experience fields, sending event type, and web:webPageDetails data
    • sending "eventType": "web.webPageDetails.pageViews",
    • "web":[ "webPageDetails":[ "pageViews":[ "value":1 ], "name": "<page_title>" ] ],
    • "_experience": [ "analytics": [ "customDimensions": [
  • I think we're also getting link click event by doing the web interaction equivalent

Question:

  • currently we're asking the dev team to send props and evars inside of customDimensions, but how do we set this up so they send user friendly names, such as "schoolName" instead of say, prop34?
  • We're looking for the flexibility to use the datastream to map user friendly xdm fields from the payload to props and eVars. Is this possible?
  • In addition to the structure mentioned above, we asked the dev team to sent the below and this doesn't work when I map it in the datastream to props and eVars.
    • "contextData": [ "areaOfStudy": "accounting", "degreeLevel": "bachelors" ],

Has anyone been able to use the Edge Send event function on a mobile app to send user friendly fields and map them to props and eVars, using the data stream? 

If this is confusing, I can share the full payload, so you can see.

10 Replies

Avatar

Level 4

Hi @BertBru,

 

I assume you are using a standard schema/datastream setup to pass data to Analytics via the Analytics service add-on, rather than event forwarding?

 

  • I don't believe this is possible. Passing a friendly name would no longer make it a standard field which Analytics can read with no further work. You may be able to re-name it but I don't think the field name itself can be altered.  
  • I don't think it's possible to do this with an out of the box implementation
  • You should be able to use those context data values to map to eVars/props/events in Analytics via processing rules; indeed, as I understand it, one of the main use cases is to send all data as context data, so multiple sources can use it without needing standard field grouping: so Target can read the context data, analytics can use it via processing rules, etc. 

Avatar

Level 2

Thank you for your answers.

 

Regarding context data, do you know if we can just have context data at the same level as experience? Below is what I have from the devs.

BertBru_0-1756222497523.png

 

Or do you think the values should be inside of the context data field under _experience? Here is the context data field i found

BertBru_1-1756222585573.png

 

Avatar

Community Advisor and Adobe Champion

If you want them to automatically be treated as context data, I would think they need to be sent into the proper field... if you are mapping data (which you seem to be having issues with already) then you probably don't need "context data" but can map any custom field (again assuming you can get it working).

 

I've never mapped DataStream values to Adobe, I've just sent data to standard fields in the Analytics model (or the standard XDM fields)

Avatar

Community Advisor and Adobe Champion

Hi @BertBru,

 

You might find this article helpful: https://medium.com/@rajd33p/web-sdk-for-adobe-analytics-the-best-possible-way-to-collect-data-6a54a9...

 

 

If you want to send data as "friendly fields", then you will have to send the data as Context Variables, where you can define the name of the variable, and then you can map this to your Adobe Analytics Dimensions using Processing Rules... while this article says this is "bad', I would take that with a grain of salt... there are often reasons for wanting to use contextually named variables, such as making it easier for your developers, or easier for QA to test (since in most cases, those people don't know the difference between eVar1 and eVar2 and might make mistakes resulting in the data going to the wrong place).

 

This does mean more work for you to ensure that your Analytics has all the proper processing rules in place to send the data through to the correct place (and note that Processing Rules hasn't received updates in a quite a long time, you may not have all the logic you might need to map the content... but that can only be determined by you and the complexity of your needs).

Avatar

Level 2

Thank you, I will review the article!

Avatar

Community Advisor

For the mapping part of your your speaking XDM field, have you tried something like this in your datastream?

 

_mycompany.shoolName -> _experience.analytics.customDimensions.eVars.eVarX

 

like in the example below, where I map the implicitly added ECID to eVar3.

bjoern__koth_0-1755631049012.png

 

I would do it this way:

  • open your website and developer tools (F11)
  • filter for "/ee" requests
  • open the request payload and right-click on the first item in the "events" property
  • click "copy object"

bjoern__koth_1-1755631275356.png

 

  • open your datastream's mapping
  • bjoern__koth_2-1755631369287.png
  • paste the JSON from your clipboard

from there on, you can use the arrow icon to locate the source field you want to map.

And for the analytics fields, use the pattern as mentioned above "_experience.analytics..."

See also here (search for _experience.analytics)

bjoern__koth_3-1755631486270.png

 

 

Cheers from Switzerland!


Avatar

Level 4

@BertBru  This should be correct for first question, ignore my reply. I tried this on one of my datastreams & despite Adobe erroring for the first 30mins or so it eventually pulled in the correct data- although bear in mind I mapped a pre-defined field to a custom field I created, not vice versa, just in case that is the issue. 

Avatar

Level 2

I failed to mention that this is a mobile application implementation.

 

Are you saying that the below worked for you? I am assuming _mycompany would be a custom schema we have to create before sending the data, correct?

_mycompany.shoolName -> _experience.analytics.customDimensions.eVars.eVarX

Avatar

Level 4

Not quite, this worked fine for me:

 

EurosIMS_0-1756370039811.png

 

So it would be the other way around of what you have there- I mapped a standard field to a custom field. That might be why mine works & yours does not.

Avatar

Level 2

I see. What I am trying to do is the opposite.