Skip to main content

Adobe Analytics with Datastreams

Adobe Analytics with Datastreams

Last updated: 29-Feb-2024
Rate this article:

Overview

The newly developed “alloy.js” library from Adobe is a JavaScript library that helps merchants measure how users interact with their website.

The new approach of the current “alloy.js” is that it improves:

  • Page performance by loading a smaller tracking library.
  • Use the same visitor identifier across different solutions from Adobe platform.
  • On client-side data, it minimizes the transmissions from website to Adobe platform.

Implementing Adobe Analytics using the Adobe Experience Platform Web SDK (alloy.js) probably will charge fees, so be in touch with your Adobe provider. For more information on the Adobe Experience Platform Web SDK and how to install it, click here.

Setting the Adobe Analytics configuration

To implement Adobe Analytics on your website, follow these steps: 

  1. Log into your 2Checkout (now Verifone) Merchant Control Panel and navigate to Setup.
  2. Select Ordering Options.
  3. Click on the Analytics tab.
  4. Click on the Convert Plus & Inline Checkout button.
  5. In the Adobe Analytics panel click on Setup.
    setting adobe analytics
  6. Fill in the two fields. The information can be extracted from the datastream creation in the Adobe platform.
    Adobe Analytics Edge Configuration ID and Experience Cloud Organization ID
    The Adobe Analytics Edge Configuration ID and Experience Cloud Organization ID can be found in Adobe Experience Platform.
    • The Edge Configuration ID means Datastream ID and represents the ID of the configuration that is set on the datastream created for transferring data to the Adobe Analytics module.
    • The Organization ID means the ID that Adobe is creating for a user and helps the Adobe Platform to recognize the user between the changes from different module/applications.

    Adobe Experience Platform

  7. Click on the Inactive button to activate the configuration credentials for Adobe Analytics.
    Activate button

Setting the Adobe Experience Platform for using Adobe Analytics

To implement a report in Adobe Analytics from the data sent in the shopping cart, first you need to create a datastream and a schema to set the logic data into the datastream.

  1. Go to Adobe Experience Platform and click on the Schemas option from the left side panel. Then, click on the Create schema button. This schema should use the XDM Adobe pre-build schemas in order for the data to be recognized in the Adobe Analytics report.
    The XDM ExperienceEvent is used as the primary selection for the Adobe pre-build class because this is the way that Adobe Analytics service can recognize the schema in the datastream.
    XDM ExperienceEvent
  2. In the new schema, go to Scheme properties and enter the Display name and Description. In the left-side panel, go to the Fields group and click on Add; this will open the pre-built schema for Adobe Analytics to be selected.New schema settings
       This step is very important as here we get the data that will be mapped in the datastream with the data sent from the shopping cart.

    Add fields group

  3. After saving the schema, go back to the Datastreams section, and create a New Datastream, selecting the already created schema from the Event schema drop-down option.
    Datastreams section

The steps on how to map the data will be treated in the section Mapping the data to Adobe Analytic context.

All of these 3 steps can be reproduced in the Adobe Experience Platform Data Collection module from the same Adobe Experience Cloud environment.

Adobe Experience Platform Data Collection

Mapping the data to Adobe Analytics context

For mapping the correct data into Adobe Analytics module, the 2Checkout comes with the schema that is sent from the shopping cart. For mapping the data, you need to know two aspects, one of the data that is sent from 2Checkout, and secondly, the data recognized (or created as new evar/events) in the Adobe Experience Platform.

Data sent from 2Checkout

A general overview of this data is presented in the code snippet below:

{
  "event": "checkout",
  "ecommerce": {
    "currencyCode": "string required",
    "sessionId": "string required",
    "checkout": {
      "actionField": {"<< ActionField object >>"},
      "products": ["<< List of product object >>"]
    },
    "purchase": {
      "actionField": {"<< ActionField object >>"}
    },
    "products": ["<< List of product object >>"],
    "add": {
      "products": ["<< List of product object >>"]
    },
    "remove": {
      "products": ["<< List of product object >>"]
    },
    "impressions": ["<< List of impression object >>"]
  },
  "PAGE_NAME": "string => string",
  "VENDOR_CODE": "string => string",
  "ONESTEPCART": "true => bool",
  "SHORT_FORM": "true => bool",
  "PURCHASE_COMPLETE": "bool",
  "TEST_ORDER": "bool => bool",
  "PRODUCT_SOURCE": "string",
  "CART_LOCK": "bool => bool",
  "DISCOUNT_COUPON_STATUS": "string",
  "AUTO_RENEWAL": "string => string",
  "PURCHASE_TYPE": "string => string",
  "LANGUAGE": "string => string",
  "BILLING_COUNTRY": "string",
  "VISITOR_COUNTRY": "string",
  "BILLING_CURRENCY": "string",
  "COMPANY_NAME": "string",
  "ORDER_EXT_REF": "string",
  "CUSTOMER_EXT_REF": "string",
  "TEMPLATE_LAST_MODIFIED_DATE": "string",
  "TEMPLATE_CREATION_DATE": "string",
  "PAGE_STYLE_NAME": "string",
  "ADDITIONAL_HIDDEN_FIELDS": "array",
  "SELLER_TYPE": "string",
  "PAYMENT_METHOD": "string",
  "PAYMENT_METHOD_TYPE": "string",
  "QUANTITY_CHANGED": "string",
  "CART_STEP": "string",
  "ADDITIONAL_FIELDS_COUNT": "number",
  "SOURCE": "string",
  "PURCHASE_FLOW": "string",
  "CREDIT_CARD_INSTALLMENTS": "string",
  "LEAD_MANAGEMENT": "string",
  "PAYMENT_CATEGORY": "string",
  "time": "number"
}

In the next tables, each event is described in detail:

Object ecommerce (key "ecommerce" on the event name "checkout")
Key Content
currencyCode String (required)
  The currency code
sessionId String (required)
  The session ID
checkout Object (required)
  The object that will implement the checkout event. Will have two keys: “actionField” and “products
  actionField Object (required)
  products Array of objects (required)
coupon String
  If there is a promotion, a coupon will be needed
orderDiscountCoupon String
  The discount from the added coupon
Object actionField (key “actionField” on the event name “checkout”)
Key Content
step Integer (required)
  The step
checkout_revenue String (required)
  Checkout revenue
checkout_revenueUSD String (required)
  Checkout revenue USD
checkout_tax String (required)
  Checkout tax
checkout_taxUSD String (required)
  Checkout tax USD
checkout_shipping String (required)
  Checkout shipping
checkout_shippingUSD String (required)
  Checkout shipping USD
Object product (key “products”, array of product)
Key Content
name String (required)
  The name of the product
id String (required)
  The ID of the product
price String (required)
  The price
discountAmount String (required)
  The amount of the discount
quantity Number (required)
  The quantity
type String (required)
  The type of the product
group String (required)
  The group
tax Number (required)
  The tax amount
format String (required)
  The format
coupon String
  If there is a promotion, a coupon will be needed
discountCoupon String
  The discount from the added coupon
itemExtRef String
  The product external reference
isDynamic Boolean
  The product is dynamic
dynamicType String
  The type of dynamic product
dynamicRecurrence String
  The recurrence of dynamic product
dynamicDuration Number
  The duration of a dynamic product
dynamicRenewalPrice Number
  The renewal price for a dynamic product
options Array of strings
  Extra option for the product
hiddenAdditionalFields Array of strings
  Additional hidden fields that are set by the merchant in the Control Panel application
Object ecommerce (key “ecommerce” on the event name “purchase”)
Key Content
currencyCode String (required)
  The currency code
sessionId String (required)
  The session ID
purchase Object (required)
  The object that will implement the purchase event will have one key: “actionField”
  actionField Object (required)
orderTimestamp String (required)
  The timestamp of the place order
products Array of objects (required)
  The product object
Event name “cartUpdate”
Key Content
PAGE_NAME String
  The name of the page
VENDOR_CODE String
  Vendor code
ONESTEPCART Boolean
  One step cart value
SHORT_FORM Boolean
  Short form value
PURCHASE_COMPLETE Boolean
  The purchase is completed
TEST_ORDER Boolean
  The order is for testing purpose
PRODUCT_SOURCE String
  The product source
CART_LOCK Boolean
  The cart is locked
DISCOUNT_COUPON_STATUS String
  The status for the discount coupon
AUTO_RENEWAL String
  Auto renewal value
PURCHASE_TYPE String
  The type of the purchase
LANGUAGE String
  The language code
BILLING_COUNTRY String
  The billing country
VISITOR_COUNTRY String
  The visitor country
BILLING_CURRENCY String
  The billing currency
COMPANY_NAME String
  The company name
ORDER_EXT_REF String
  The order external reference
CUSTOMER_EXT_REF String
  The customer external reference value
TEMPLATE_LAST_MODIFIED_DATE String
  Template last modified date
TEMPLATE_CREATION_DATE String
  Template creation date
PROFESSIONAL_SERVICES String
  Professional services value
PAGE_STYLE_NAME String
  Page style name
ADDITIONAL_HIDDEN_FIELDS Array of strings
  Additional hidden fields that are set by the merchant in the Control Panel application
SELLER_TYPE String
  Seller type value
PAYMENT_METHOD String
  Payment method value
PAYMENT_METHOD_TYPE String
  Payment method type value
QUANTITY_CHANGED Number
  The new quantity of the cart updated event
CART_STEP String
  The step of the cart
ADDITIONAL_FIELDS_COUNT Number
  The count of the additional fields
SOURCE String
  The source value
PURCHASE_FLOW String
  The purchase flow value
CREDIT_CARD_INSTALLMENTS String
  The credit card installments
LEAD_MANAGEMENT String
  The lead management value
PAYMENT_CATEGORY String
  The payment category
time Number
  The timestamp on which the event is created
REVIEW_FLOW String
  The review flow value
Event name “addToCart”
Key Content
currencyCode String (required)
  The currency code value
ecommerce Object (required)
  Ecommerce object that will have a key named “add”
  add Object (required)
    products Array of objects (required)
      The product object
Event name “removeFromCart”
Key Content
ecommerce Object (required)
  Ecommerce object
  currencyCode String (required)
    The currency code value
  sessionId String (required)
    The session ID value
  remove Object (required)
    products Array of objects (required)
      The product object
    coupon String
      If there is a promotion, a coupon will be needed
    orderDiscountCoupon String
      The discount from the added coupon
Event name “productImpression”
Key Content
ecommerce Object (required)
  Ecommerce object that will have a key named “impressions”
  impressions Array of objects (required)
    The impression object
Object impression (key “impressions”, array of impression)
Key Content
name String (required)
  The name of the product
id String (required)
  The ID of the product
price String (required)
  The price
discountAmount String
  The amount of the discount
type String
  The type of the product
group String (required)
  The group value
format String (required)
  The format
isDynamic Boolean
  The product is dynamic
dynamicType String
  The type of dynamic product
hiddenAdditionalFields Array of strings
  Additional hidden fields that are set by the vendor in the cPanel application
position Number
  The position of the impression

Data needed from Adobe Experience Platform

Go back to the new created datastream from Adobe Platfom, and click on the Edit Mapping section.

Edit mapping

Here is an example of a partial mapped scheme:

Example of a partial mapped scheme

How to create Events and Variables in the Adobe Analytics application

  1. Log into Adobe Analytics.
  2. Go to Admin > Report Suites.
    Report suites option
  3. Click on the Report suites for which you want to build variables or events.
    report suites list

Example on how to build a custom event in Adobe Analytics:

  • Click on Edit Settings > Conversion > Success Events to build custom events.
    Report Suite manager
  • Click on Add New and then define the new event, for example event10: write a name for the event (ex: “Product Discount Value”).
  • Under the Type column, select Currency if a monetary value is sent under this event, as in the example below. The other fields should be left as preselected by Adobe in this example.
    currency settings
  • Click the Save button at the bottom of the page.
    Save option
  • After the event was created, it will appear in Adobe Analytics Workspaces, if you search for “event10” in the left-side panel.
    "event10" example

Example on how to build a custom variable in Adobe Analytics

A. Session level variable – example evar8 Order ID (order ID/ purchase ID is not captured automatically by Adobe; if we want to capture this value, then it needs to be captured under a custom evar)

  • Click on Edit Settings > Conversion > Conversion Variables to build custom variables.
    Session level variable - Conversion Variables example
  • Click on Add New and define the new variable, for example evar8, add as name Order ID. Select Linear as allocation for order ID.
    Add new Session level variable - Conversion Variables example
  • Click Save at the bottom of the page.
  • After the evar was created, it will appear in Adobe Analytics Workspaces, if you search for evar8 in the left-side panel.
    Created evar - Session level variable example

B. Merchandising variable (this is a product level variable) – example evar26 Product Discount Coupon Value

  • Click Add New and define the new variable with Product Name “Product Discount Coupon Value”
  • Click Enable merchandising (this is only applicable for merchandising evars – evars that send information specific for certain products, e.g., certain products in an order can have different coupon discounts).
  • For Merchandising click Product Syntax from the drop-down list and Allocation Most Recent (Last).
    Adding new Merchandising variable example
  • Click Save at the bottom of the page.
  • After the evar was created, it will appear in Adobe Analytics Workspaces, if you search for evar26 in the left-side panel.
    Merchandising variable evar created
 
Rate this article:

Need help?

Do you have a question? If you didn’t find the answer you are looking for in our documentation, you can contact our Support teams for more information. If you have a technical issue or question, please contact us. We are happy to help.

Not yet a Verifone customer?

We’ll help you choose the right payment solution for your business, wherever you want to sell, in-person or online. Our team of experts will happily discuss your needs.

Verifone logo