I'm trying to bring in the back end orders post user created a cart(scenario - B2B provision to checkout cart form their in-house system)
Ref to this post - https://developer.adobe.com/analytics-apis/docs/1.4/guides/data-insertion/
I was hoping to passECID to <marketingCloudVisitorId> when my backend system places an order. In this case data stitching would happen as same ECID from the user session was passed. Unfortunately, they came back stating MCMID can't be fetched from the user UI(front end session cookie) for some reasons
As an alternate my backend team willing to pass the cartID from the same user session.
But my question here is if cartId to <visitorId> field, HOW can we make adobe consider/stitch this API inserted hit into a session matching cartId? Thanks
Solved! Go to Solution.
Views
Replies
Total Likes
DO NOT use the Data Insertion API for this use case, especially not the Bulk Data Insertion API. Mixing frontend and backend sessions this way has a near-100% guarantee or messing up your Visitor Profile data. Adobe Analytics does not stitch anything and will be very confused if hits arrive out-of-order or from multiple sources for the same Visitor.
Adobe Analytics has the concept of Transaction IDs for your exact use case. As you described, use your cartID as a Transaction ID, then use the safe and comfortable Transaction ID Data Sources process to import your backend data.
Views
Replies
Total Likes
Hey @abhijithr !
In the interest of ensuring that there is not another issue impacting the MCMID being fetched, have you been able to confirm that you're seeing it set properly in Adobe?
I've seen implementations set ECID as an eVar and set in a data element to ensure that there aren't instances where ECID isn't being set that can impact stitching data using Data Insertion API. Are you utilizing Launch to send to AA? If so, using the Adobe Experience Cloud ID Service Extension would allow you to set up a simple data element to make ECID available using "_satellite.getVar("<your data element name>").
See below screenshot:
However, if for whatever reason, there ends up being issues that prevent stitching via the ECID (which probably makes the Data Insertion API not a great solution for your requirement of stitching data from backend to Adobe), the cartID COULD be used to capture in an eVar, and then you could upload a classification of the data you want to see in Adobe that is tied to the backend orders keyed off the cartID if that is available. https://experienceleague.adobe.com/en/docs/analytics/components/classifications/c-classifications for reference. This isn't the best solution, as you are limited to uploading off the cartID and if the value is not truly unique (i.e., could be re-used) it could result in problems in the future. But it could allow you to classify simple details such as "total order value", "# of products", etc.
Hopefully one of these two options help you move forward!
Thanks,
Andy
EDIT: You should NOT use this method with Data Insertion API if your report suite is not timestamp required, and you should pass timestamps that date close to the session end to avoid breaking Visitor Profile data. That being said, Transaction ID is likely the least risky approach and as @FrederikWerner stated, better for your use case.
Views
Replies
Total Likes
First of all thanks a ton for your response.
Yes, I use Launch & could populate ECID within, but challenge is from my backend accessing.
Via classification sounds smart idea, and certainly helps have numbers within AA. But as I'm hoping to do full ecommerce reporting(PV to order metrics by products SKU dimension), there seems challenges yet. I'm trying pushing me backend team consume it prior and append in XML, worst-case I can consider the below maybe for high level revenue & product category via classification. Thanks again Andy.
Views
Replies
Total Likes
DO NOT use the Data Insertion API for this use case, especially not the Bulk Data Insertion API. Mixing frontend and backend sessions this way has a near-100% guarantee or messing up your Visitor Profile data. Adobe Analytics does not stitch anything and will be very confused if hits arrive out-of-order or from multiple sources for the same Visitor.
Adobe Analytics has the concept of Transaction IDs for your exact use case. As you described, use your cartID as a Transaction ID, then use the safe and comfortable Transaction ID Data Sources process to import your backend data.
Views
Replies
Total Likes
@abhijithr Wanting to reply to @FrederikWerner here as I realized that I incorrectly read that you had timestamps enabled on your report suite and were sending timestamp data with these hits. Upon reading Frederik's comment, realized that was an assumption I made due to working on a similar issue right now on a project of my own.
Frederik is 1000% correct that this will wreak havoc on your visitor profile due to Adobe not being able to stitch these sequentially and that they will appear out of order. Transaction IDs will work much better for your use-case.
Views
Replies
Total Likes