Understand Infinity integration parameter mapping

Commerce subscribes to particular events in the Storefront which are then tracked and bound with related methods. Infinity parameters are mapped in these related prototype methods with Commerce data.

A site page containing the Infinity tag loads an Infinity script through a "require" dependency. Commerce then subscribes to particular Infinity events to be tracked and bound with specific methods. The Commerce data is then mapped with Infinity parameters in the methods and this is sent to Infinity for collection. The available Commerce/Infinity parameter mappings are the following:

Note: If for some data field a provided parameter is not available in Infinity, you can create custom parameters as "wt.z_<yourName>."

Table 6-1 Commerce/Infinity parameter mappings

Event Event Details Data tracked Infinity Parameters
USER_PROFILE_UPDATE_SUCCESSFUL

Published when the user profile is updated. When the REST call for profile update is a success, it publishes an event.

  • page URI
  • user-id
  • content-group name ("User Profile")
  • step name ("Update Successful")

page-uri

wt.dcsvid

wt.cg_n

wt.si_p

USER_PROFILE_UPDATE_SUBMIT

Published from order.js while placing an order, before placing an order it validates registered user.

Published from user.js when the user locale is updated if it's not part of supported locales. On successful update to profile, this event is published.

Published from the Customer Profile widget via the widget's customerProfile.js when the user profile is updated.

Published from Header widget via the widget's element.js when user locale is updated.

Published from the Checkout Registration widget via the widget's checkoutRegistration.js, when a place order button is clicked and it publishes a CHECKOUT_VALIDATE_NOW event. If the user login is not valid, it publishes an event to this topic.

  • page URI
  • user-id
  • content-group name ("User Profile")
  • step name ("Update Submit")

page-uri

wt.dcsvid

wt.cg_n

wt.si_p

USER_LOGOUT_SUBMIT

Published from the Logon Registration widget (Login-Registration-v2 -> element.js) when the user clicks logout or clicks Cancel on login.

  • page URI
  • user-id
  • content-group name ("User Profile")
  • step name ("User Logged Out")

page-uri

wt.dcsvid

wt.cg_n

wt.si_p

USER_LOGIN_SUCCESSFUL Published from user.js when a user login is successful or a SAML callback is successful.
  • page URI
  • user-id
  • GDPR cookie consent
  • content-group name
  • ("User Profile") step name ("Logged In")

page-uri

wt.dcsvid

wt.ce

wt.cg_n

wt.si_p

USER_LOGIN_SUBMIT

Published from Login-Registration-v2 -> element.js (header) widget and Checkout-Registration -> checkoutRegistration.js (checkout page), while the user logs in.

  • page URI
  • content-group name ("User Profile")
  • step name ("Log In Submit")

page-uri

wt.cg_n

wt.si_p

USER_AUTO_LOGIN_SUCCESSFUL Published from user.js when the user autologin is successful.
  • page URI
  • user-id
  • GDPR cookie consent
  • content-group name ("User Profile")
  • step name ("Registered")

page-uri

wt.dcsvid

wt.vt_f

wt.ce

wt.cg_n

wt.si_p

SEARCH_RESULTS_UPDATED

Published from search.js page layout after a search request is completed.

If the search request is a success then it publishes with the search results otherwise it publishes with an error message.

  • page URI
  • user-id
  • content-group name ("Search")
  • search text total
  • records found
  • search facet selected (sent as <facet name>-<facet value>)

page-uri

wt.dcsvid

wt.cg_n

wt.oss

wt.oss_r

wt.z_selectedSearchFacet

PRODUCT_VIEWED Published from the Product Details widget when a product is viewed from PDP or quick view.
  • page URI
  • user-id
  • content-group name ("Purchase List")
  • step name ("Add to Purchase List")
  • product id
  • SKU id
  • quantity
  • price
  • product type
  • brand
  • transaction event ("w")
  • currency

page-uri

wt.dcsvid

wt.cg_n

wt.si_p

wt.pn_sku

wt.tx_u

wt.tx_s

wt.pn_fa

wt.pn_ma

wt.tx_e

wt.z_currency

PRODUCT_ADDED_TO_PURCHASE_LIST_SUCCESS Published from Purchase Lists widget (add-to-purchase-list -> element.js) when an item is added to the purchase list.
  • page URI
  • user-id
  • content-group name ("Purchase List")
  • step name ("Add to Purchase List") product id
  • SKU id
  • quantity
  • price
  • product type
  • brand transaction event ("w")
  • currency

page-uri

wt.dcsvid

wt.cg_n

wt.si_p

wt.pn_sku

wt.tx_u

wt.tx_s

wt.pn_fa

wt.pn_ma

wt.tx_e

wt.z_currency

PAYMENT_AUTH_SUCCESS

Published from payment-auth-response view model when the response from the paymentAuthResponse endpoint returns the state of payment accepted and the order status has not failed.

  • page URI
  • user-id
  • content-group name ("Payment")
  • step name ("Payment Success")

page-uri

wt.dcsvid

wt.cg_n

wt.si_p

PAYMENT_AUTH_DECLINED

Published from payment-auth-response view model when the response from paymentAuthResponse endpoint returns a state like "removed" or when a payment is authorized but the order failed.

  • page URI
  • user-id
  • content-group name ("Payment")
  • step name ("Payment Fail")

page-uri

wt.dcsvid

wt.cg_n

wt.si_p

PAGE_CHANGED

Published from layout-container.js after the layout is loaded.

It publishes with pageEventData such as page, pageId, path, pageRepositoryId, etc.

  • page URI
  • user-id
  • page id
  • wt-dcsvid
  • In the case of the of a confirmation page, the following is published:

  • shipping method
  • shipping cost
  • payment gateway name
  • gateway transaction amount
  • content-group name(depending on the page)

page-uri

wt.cg_n

wt.dcsvid

wt.z_shippingMethod

wt.z_shippingCharges

wt.z_gatewayName

wt.z_gatewayTransactionAmount

ORDER_SUBMISSION_SUCCESS Published from the order.js view model when the order details of the initial order created during checkout with PayPal/PayU is fetched.

If the transaction is done via PayU and the status is settled/approved, this event is published.

Published from the order.js view model when an order is created or updated successfully and the status is submitted or is pending approval then this event is published.

Published from the order.js view model when the payment is authorized. This is triggered when it receives a PAYMENT_AUTH_SUCCESS event.

  • page URI
  • user-id
  • content-group name ("Order")
  • step name ("Order Submission Success")
  • SKU id
  • product type
  • brand
  • quantity
  • price
  • transaction event ("p")
  • invoice date
  • invoice time
  • invoice number (UUID)
  • order id
  • conversion ("Purchase")
  • campaign id
  • campaign source

page-uri

wt.dcsvid

wt.cg_n

wt.si_p

wt.pn_sku

wt.pn_fa

wt.pn_ma

wt.tx_u

wt.tx_s

wt.tx_e

wt.tx_id

wt.tx_it

wt.tx_i

wt.tx_cartid

wt.conv

wt.z_campaignId

wt.z_campaignSource

ORDER_SUBMISSION_FAIL

Published from the order.js view model when order submission fails due to any of these reasons: Payment Auth timeout, Payment declined, and/or order creation/update failure.

Published from the CyberSource Payment Authorization widget if there is an error while generating the signature in a payment iFrame.

  • page URI
  • user-id
  • content-group name ("Order")
  • step name ("Order Submission Fail")

page-uri

wt.dcsvid

wt.cg_n

wt.si_p

ORDER_COMPLETED

Published from the payment-auth-response.js view model when a payment authorization is accepted.

Published from the order.js view model when the order status is either submitted or pending approval.

Published from the Split Payments widget when the order state is either pending approval or a template (i.e., the order is a scheduled order) or pending scheduled order approval.

  • page URI
  • user-id
  • content-group name ("Order")
  • step name ("Order Completed")

page-uri

wt.dcsvid

wt.cg_n

wt.si_p

COUPON_APPLY_SUCCESSFUL Published from the cart view model when a cart is updated from the server after a coupon is applied successfully.
  • page URI
  • user-id
  • content-group name ("Coupon")
  • coupon id

page-uri

wt.dcsvid

wt.cg_n

wt.mc_id

CHECKOUT_SHIPPING_METHOD

Published from the cart.js view model with shippingOption when the shipping methods are loaded.

Published from the Cart Shipping widget when a shipping option is reset or if a shipping address and shipping method has changed.

  • page URI
  • user-id
  • content-group name ("Shipping Method")
  • step name ("Shipping Method Selected")

page-uri

wt.dcsvid

wt.cg_n

wt.si_p

CHECKOUT_SAVE_SHIPPING_ADDRESS Published from order.js view model with the shipping address when the Place Order button is clicked.
  • page URI
  • user-id
  • content-group name ("Address")
  • country
  • state
  • city
  • postal code

page-uri

wt.dcsvid

wt.cg_n

wt.z_country

wt.z_region

wt.z_city

wt.z_zip

CHECKOUT_REGISTER_USER Published from the Checkout Order Details widget when all validations for creating the order have passed.
  • page URI
  • user-id
  • content-group name ("User Profile")
  • step name ("Checkout Register")
  • GDPR cookie consent

page-uri

wt.dcsvid

wt.cg_n

wt.si_p

wt.ce

CART_UPDATE_QUANTITY Published in the Shopping Cart widget with the commerceItemId when the Quantity Update button is clicked.
  • page URI
  • user-id
  • content-group name ("Cart")
  • step name ("Update Cart")
  • product id
  • SKU id
  • updated quantity
  • price
  • product type
  • brand transaction event ("a")
  • currency

page-uri

wt.dcsvid

wt.cg_n

wt.si_p

wt.pn_id

wt.pn_sku

wt.tx_u

wt.tx_s

wt.pn_fa

wt.pn_ma

wt.tx_e

wt.z_currency

CART_REMOVE_SUCCESS Published from cart.js when an item is removed from the cart view model. It is also published with a product commerce id.

Published from cart.js when a place holder item is removed from the cart.

  • page URI
  • user-id
  • content-group name ("Cart")
  • step name ("Remove from Cart")
  • product id
  • SKU id
  • removed quantity
  • price
  • product type
  • brand
  • transaction event ("r")
  • currency

page-uri

wt.dcsvid

wt.cg_n

wt.si_p

wt.pn_sku

wt.tx_u

wt.tx_s

wt.pn_fa

wt.pn_ma

wt.tx_e

wt.z_currency

CART_ADD_SUCCESS

Published from cart.js when a cart is updated and the last cart event is cart-add-item.

The cart is updated when the REST call is made to fetch the current profile order and price information to refresh the cart data.

  • page URI
  • user-id
  • content-group name ("Cart")
  • step name ("Add to Cart")
  • product id
  • SKU id
  • quantity
  • price
  • product type
  • brand
  • transaction event ("a")
  • currency

page-uri

wt.dcsvid

wt.cg_n

wt.si_p

wt.pn_id

wt.pn_sku

wt.tx_u

wt.tx_s

wt.pn_fa

wt.pn_ma

wt.tx_e

ADD_TO_QUICK_ORDER Published from the product-add-to-quick-order element when adding to a quick order and the button is clicked.
  • page URI
  • user-id
  • content-group name ("Quick Order")
  • step name ("Add to Quick Order")
  • product id
  • SKU id
  • quantity
  • price
  • product type
  • brand
  • transaction event ("q")
  • currency

page-uri

wt.dcsvid

wt.cg_n

wt.si_p

wt.pn_sku

wt.tx_u

wt.tx_s

wt.pn_fa

wt.pn_ma

wt.tx_e

wt.z_currency

Keep in mind the following about the integration parameters:
  • All methods are prototypes, so, if you want to add more parameters, you can extend them.
  • If for some reason a data field is not provided in Infinity, you can create custom parameters in the following format so that : wt.z_<yourParameterName> the Oracle Infinity platform will start to record it.
  • Some events are published from provided widgets which earlier did not publish any relevant data. These have since been changed to publish relevant information. If you are not using the provided widgets in any case, you must publish similar data in the events. These widgets include ORDER_SUBMISSION_SUCCESS (Split Payments widget), PRODUCT_ADDED_TO_PURCHASE_LIST_SUCCESS (Purchase List widget), USER_PROFILE_UPDATE_SUBMIT (Shopper Details, Address Book, and Update Password widget), and CART_REMOVE_SUCCESS. It is necessary, then, to take the latest changes accordingly. If you are publishing any of the events listed in the table and not publishing relevant data similar to the ones provided, you need to provide updates to correct this.
  • The Infinity viewmodel.js depends on the ORA_ANALYTICS_READY event on DOM (published by the Infinity JS) to initialize the Infinity API. Refer to your Infinity Administrator to turn on the READY EVENT the tag for the same.

For more complete details on using Infinity and its capabilities, refer to the Oracle Infinity documentation.