Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn More

View all

Sign in to view all badges

[Adobe Launch] Purchase Event via dataLayer

Avatar

Avatar
Validate 1
Level 2
adilk
Level 2

Likes

10 likes

Total Posts

67 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile

Avatar
Validate 1
Level 2
adilk
Level 2

Likes

10 likes

Total Posts

67 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile
adilk
Level 2

15-05-2019

I need to pass the purchase details of a transaction in order to capture revenue/product level information.

If my digitalData / dataLayer contains these two bits of info, what should my rule be in Adobe Launch in order to pass this info to Adobe Analytics?

Thanks

--

digitalData.transaction.total =

{ purchaseID: "ABCAS",

basePrice: 100.00,

currency: "AED",

taxRate: 0.05,

priceWithTax: 105,

transactionTotal: 105 };

digitalData.transaction.item = {
basePrice: 100.00,
currency: "AED",
taxRate: 0.05,
priceWithTax: 105,
transactionTotal: 105,
category=smartphones,
product=Samsung smartphone,
quantity=1
};

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar
Applaud 500
MVP
Asheesh_P
MVP

Likes

129 likes

Total Posts

334 posts

Correct Reply

144 solutions
Top badges earned
Applaud 500
Affirm 100
Contributor
Boost 100
Give Back 10
View profile

Avatar
Applaud 500
MVP
Asheesh_P
MVP

Likes

129 likes

Total Posts

334 posts

Correct Reply

144 solutions
Top badges earned
Applaud 500
Affirm 100
Contributor
Boost 100
Give Back 10
View profile
Asheesh_P
MVP

02-06-2019

In AA - Product String Builder - You should set product with only events and only eVar you want to set in the product string. Other events can be set within "AA - Set Variable" for the direct call rule you want to trigger on the purchase.

For currency Event - you need to make sure you set it correct and event2=%currency dataElement%

%currency dataElement% should return a numeric value, not a string.

Answers (6)

Answers (6)

Avatar

Avatar
Validate 1
Level 2
adilk
Level 2

Likes

10 likes

Total Posts

67 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile

Avatar
Validate 1
Level 2
adilk
Level 2

Likes

10 likes

Total Posts

67 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile
adilk
Level 2

02-06-2019

Hi,

Have you used Search Discovery's AA Product string builder?

If I want to use that extension,

which variables should I pass via AA - Set variables and AA - Product String builder?

I've asked in this thread as well Adobe Launch - steps to use AA Product String Builder Search Discovery  but will paste it here too:

My transaction event is supposed to fire on a direct call.

While using this AA string builder, which variables should I populate via AA "Set Variables" Vs "SDI string builder"

In my current workspace report, I can see that the Evars are populating for purchase category/product. However, the events [currency] are showing as 0 while ecommerce variables such as product/category are empty.

In my rule for Purchase event:

Adobe Analytics - Set variables has a few evars + events only

AA string builder has my root object as: %Transaction: Root Object% [where it is a JS var called digitalData.transaction]

Product collection path is set to: .transaction.item [because the object is available in digitalData.transaction.item]

Category is setup as .transaction.item.category as Collection Item Path

Quantity as 1 as Static Text

Unit price as .transaction.item.basePrice as Collection Item Path

Question: In the AA string builder, should I again set custom events if they are already set in the AA "Set variables" action?

I'm attaching a screenshot of the transaction object.

Thanks for reading and your help.Capture.JPG

Avatar

Avatar
Applaud 500
MVP
Asheesh_P
MVP

Likes

129 likes

Total Posts

334 posts

Correct Reply

144 solutions
Top badges earned
Applaud 500
Affirm 100
Contributor
Boost 100
Give Back 10
View profile

Avatar
Applaud 500
MVP
Asheesh_P
MVP

Likes

129 likes

Total Posts

334 posts

Correct Reply

144 solutions
Top badges earned
Applaud 500
Affirm 100
Contributor
Boost 100
Give Back 10
View profile
Asheesh_P
MVP

16-05-2019

is there a specific syntax I need to follow in dataLayer to be able to read this in Adobe Launch?

  • No, current datalayer structure looks good, you can read transaction.total details data in different data element, change its structure and use that to set it dynamically.

Also, in the below code - how will the dynamic values for event 1, event2 etc be populated here? Should it be "purchase,event1=%event1%, event2=%event2% where %event1%, %event2% are data elements?

  • Correct, either use custom code or launch product extension.

Does the below code go in my custom code when I create a rule for transactions?

  • Correct, alternatively you can use launch user interface or product extension

Note: To read transaction.item array use product extension by Adobe or any other launch extension.

Adobe Analytics Product String Launch Extension 

Avatar

Avatar
Validate 1
Level 2
adilk
Level 2

Likes

10 likes

Total Posts

67 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile

Avatar
Validate 1
Level 2
adilk
Level 2

Likes

10 likes

Total Posts

67 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile
adilk
Level 2

16-05-2019

Hi Pratheep,

We already have a direct call to trigger the page load event. Does the custom code for purchase go within the existing Action configuration or do I need to create a new rule for Purchase events?

If it';s the existing direct call, then on a regular page load (NOT /thank-you page), what will the s.purchase events populate or they will not be utilized until this is available in the dataLayer?

Thanks.

Avatar

Avatar
Validate 1
Level 2
adilk
Level 2

Likes

10 likes

Total Posts

67 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile

Avatar
Validate 1
Level 2
adilk
Level 2

Likes

10 likes

Total Posts

67 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 10
Boost 1
View profile
adilk
Level 2

16-05-2019

Hi Asheesh,

is there a specific syntax I need to follow in dataLayer to be able to read this in Adobe Launch?

Does the below code go in my custom code when I create a rule for transactions?

Also, in the below code - how will the dynamic values for event 1, event2 etc be populated here? Should it be "purchase,event1=%event1%, event2=%event2% where %event1%, %event2% are data elements?

Thanks,

  1. s.products="Category;ProductName;Qty;total_price [,Category2;ProductName2;Qty;total_price]"
  2. s.purchaseID="<%=getPurchaseID()%>"
  3. s.currencyCode="USD"
  4. s.events="purchase"

Avatar

Avatar
Affirm 250
Moderator
PratheepArunRaj
Moderator

Likes

295 likes

Total Posts

836 posts

Correct Reply

254 solutions
Top badges earned
Affirm 250
Contributor
Springboard
Shape 1
Validate 10
View profile

Avatar
Affirm 250
Moderator
PratheepArunRaj
Moderator

Likes

295 likes

Total Posts

836 posts

Correct Reply

254 solutions
Top badges earned
Affirm 250
Contributor
Springboard
Shape 1
Validate 10
View profile
PratheepArunRaj
Moderator

16-05-2019

Dear Adil,

If these data layers are available, grab those values and build 'Data Elements'. Use the 'Data Elements' in the Page Load Rule to fire it based on your requirement.

If the Data Layers are available at the top, use 'Library Load'.

If the Data Layers are available on DOM, use 'DOM'.

Else use a 'Direct Call' rule and pass all the values to your function directly to trigger it along with your adobe Analytics Call.

I would go for 'Direct Call' Rule.

Thank you!

Arun

Avatar

Avatar
Applaud 500
MVP
Asheesh_P
MVP

Likes

129 likes

Total Posts

334 posts

Correct Reply

144 solutions
Top badges earned
Applaud 500
Affirm 100
Contributor
Boost 100
Give Back 10
View profile

Avatar
Applaud 500
MVP
Asheesh_P
MVP

Likes

129 likes

Total Posts

334 posts

Correct Reply

144 solutions
Top badges earned
Applaud 500
Affirm 100
Contributor
Boost 100
Give Back 10
View profile
Asheesh_P
MVP

16-05-2019

Hi,

Syntax:

  1. s.products="Category;ProductName;Qty;total_price [,Category2;ProductName2;Qty;total_price]"
  2. s.purchaseID="<%=getPurchaseID()%>"
  3. s.currencyCode="USD"
  4. s.events="purchase"

You will need to set transaction.total details in few currency events (event1, event2, event3, event4), purchaseId and currencyCode variables and transaction.item will go in s.products variable for each product (seperatrd by comma) as following E.g.

  1. s.products="smartphones";"Samsung smartphone";1;100.00,Running Essentials;Socks;10;29.50,"
  2. s.purchaseID="ABCAS"
  3. s.currencyCode="AED"
  4. s.events="purchase,event1=105,event2=0.05,event3=105,event4=105"

You can either use the custom code section to set it.

More Info:

Purchase Events