Commerce

Overview

This page contains guidance for parameter usage for commerce-related common tracking examples.

In this page


View Product

Description

Indicates the user has viewed a product page.

Sample Usage

Parameter Name Syntax Sample Value Notes
wt.ev Event Type $ViewProduct wt.ev=$ViewProduct - Required
- What does $ mean in the value for wt.ev?
wt.tx_e Transaction Event v wt.tx_e=v - Required for View Product within Behaviors
- Required for View Product event in Recommendations*
wt.pn_sku Product SKU {SKUID} wt.pn_sku=SKU07345-PN - Used with View Product within Behaviors
- Used with View Product event in Recommendations*
wt.cg_n Content Group {CATEGORY} wt.cg_n=accessories Used with View Product within Behaviors
wt.cg_s Content Sub Group {SUBCATEGORY} wt.cg_s=shoes Used with View Product within Behaviors
wt.product_name Product Name {PRODUCTNAME} wt.product_name=big trainers -
wt.product_price Product Unit Price {XX.XX} wt.product_price=10.00 -
wt.currency Currency {CURRENCYCODE} wt.currency=GBP -
wt.si_p Scenario Step Name {STEPNAME} wt.si_p=View Product For Funnel Analysis within Analytics
wt.si_x Scenario Step Number {STEPNUMBER} wt.si_x=1 For Funnel Analysis within Analytics
wt.si_n Scenario Name {SCENARIONAME} wt.si_n=Commerce Flow For Funnel Analysis within Analytics
wt.pn_id Product ID {PRODUCTID} wt.pn_id=232432 - Not necessary if your Product SKU (wt.pn_sku) values are the same
- ‘;’ delimited list (by line item)
wt.product_discount Product Discount {XX.XX} wt.product_discount=10.00 Discount per line item
wt.pn_ma Product Manufacturer {MANUFACTURER} wt.pn_ma=acme -
wt.product_variant Product Variant {VARIANT} wt.product_variant=green -

*Additional configuration may be required for Recommendations depending on your use case. Please reach out to Oracle representative for more details.

Example Implementation

Oracle CX Tag implementation

Please see below for an example implementation using the Oracle CX Tag:

<script type="text/JavaScript">
(function(){
  // Send Data
  var cxDataObject = {   
    "wt.ev":"$ViewProduct", // required
    "wt.tx_e":"v", // required for behavior
    "wt.pn_sku":"SKU07345-PN", // used with behavior
    "wt.cg_n":"accessories", // used with behavior
    "wt.cg_s":"shoes", // used with behavior
    "wt.product_name":"big trainers",
    "wt.product_price":"10.00",
    "wt.currency":"GBP",
    "wt.si_p":"View Product",
    "wt.si_x":"1",
    "wt.si_n":"Cart Funnel",
    "wt.pn_id":"232432",
    "wt.pn_ma":"acme",
    "wt.product_discount":"10.00",
    "wt.product_variant":"green"
  };
 
  // DO NOT EDIT BELOW THIS LINE - ORA.view() (you may also use ORA.click() depending on your scenario)
  window.ORA = window.ORA || {productReady: []};
  ORA.productReady.push(['analytics', function(cxDataObject) {return function() {return ORA.view({"data": cxDataObject})}}(cxDataObject)]);
})();
</script>

Data Collection API Implementation

Please see below for an example implementation using the Data Collection API (why would I use this?) on a webpage (ensuring you persist the visitor ID as wt.co_f in your API calls):

<script type="text/JavaScript">
(function() {
  var xmlhttp = new XMLHttpRequest();
  var url = "https://dc.oracleinfinity.io/v3/ACCOUNTGUID" // ACCOUNTGUID is your account GUID
 
  var payload = {
    "static": {
      "wt.co_f": "d19aabf1-f402-4854-b890-be077afa1b89" // Visitor ID : Take value of 'id' from ORA_FPC cookie
    },
    "events": [{
      "wt.dl": "0", // Denotes Page View (or "1" for a click)
      "wt.es": document.domain + document.location.pathname, // URL
      "wt.ssl": (document.location.protocol === "https:") ? "1" : "0", // Secure/non-secure            
      "dcsuri": document.location.pathname, // pathname
      "domain": document.domain, // domain           
      "wt.ti": document.title, // page title           
      "wt.ev":"$ViewProduct", // required
      "wt.tx_e": "v", // required for behavior
      "wt.pn_sku": "SKU07345-PN", // used with behavior
      "wt.cg_n": "accessories", // used with behavior
      "wt.cg_s": "shoes",
      "wt.product_name": "big trainers",
      "wt.product_price": "10.00",
      "wt.currency": "GBP",
      "wt.si_p": "View Product",
      "wt.si_x": "1",
      "wt.si_n": "Cart Funnel",
      "wt.pn_id": "232432",
      "wt.pn_ma": "acme",
      "wt.product_discount": "10.00",
      "wt.product_variant": "green"
    }]
  };
  xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      window.console.log("post was successful, response was " + this.response);
    } else if (this.readyState == 4 && this.status != 200) {
      window.console.log("post was not successful, response was " + this.response);
    }
  };
  xmlhttp.open("POST", url);
  xmlhttp.setRequestHeader("Content-Type", "application/json");
  xmlhttp.send(JSON.stringify(payload));
})();
</script>

View Category

Description

Indicates the user has viewed a category page.

Sample Usage

Parameter Name Syntax Sample Value Notes
wt.ev Event Type $ViewCategory wt.ev=$ViewCategory - Required
- What does $ mean in the value for wt.ev?
wt.tx_e Transaction Event c wt.tx_e=c -
wt.cg_n Content Group {CATEGORY} wt.cg_n=accessories -
wt.cg_s Content Sub Group {SUBCATEGORY} wt.cg_s=shoes -

Example Implementation

Oracle CX Tag implementation

Please see below for an example implementation using the Oracle CX Tag:

<script type="text/JavaScript">
(function(){
  // Send Data
  var cxDataObject = {   
    "wt.ev":"$ViewCategory", // required
    "wt.tx_e":"c",
    "wt.cg_n": "accessories",
    "wt.cg_s": "shoes"
  };
 
  // DO NOT EDIT BELOW THIS LINE - ORA.view() (you may also use ORA.click() depending on your scenario)
  window.ORA = window.ORA || {productReady: []};
  ORA.productReady.push(['analytics', function(cxDataObject) {return function() {return ORA.view({"data": cxDataObject})}}(cxDataObject)]);
})();
</script>

Data Collection API Implementation

Please see below for an example implementation using the Data Collection API (why would I use this?) on a webpage (ensuring you persist the visitor ID as wt.co_f in your API calls):

<script type="text/JavaScript">
(function() {
  var xmlhttp = new XMLHttpRequest();
  var url = "https://dc.oracleinfinity.io/v3/ACCOUNTGUID" // ACCOUNTGUID is your account GUID
 
  var payload = {
    "static": {
      "wt.co_f": "d19aabf1-f402-4854-b890-be077afa1b89" // Visitor ID : Take value of 'id' from ORA_FPC cookie
    },
    "events": [{
      "wt.dl": "0", // Denotes Page View (or "1" for a click)
      "wt.es": document.domain + document.location.pathname, // URL
      "wt.ssl": (document.location.protocol === "https:") ? "1" : "0", // Secure/non-secure            
      "dcsuri": document.location.pathname, // pathname
      "domain": document.domain, // domain           
      "wt.ti": document.title, // page title           
      "wt.ev":"$ViewCategory", // required
      "wt.tx_e": "v",
      "wt.cg_n": "accessories",
      "wt.cg_s": "shoes"
    }]
  };
  xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      window.console.log("post was successful, response was " + this.response);
    } else if (this.readyState == 4 && this.status != 200) {
      window.console.log("post was not successful, response was " + this.response);
    }
  };
  xmlhttp.open("POST", url);
  xmlhttp.setRequestHeader("Content-Type", "application/json");
  xmlhttp.send(JSON.stringify(payload));
})();
</script>

Add Product to Cart

Description

Trigger upon addition of item(s) to cart.

Sample Usage

Parameter Name Syntax Sample Value Notes
wt.ev Event Type $AddProductToCart wt.ev=$AddProductToCart - Required
- What does $ mean in the value for wt.ev?
wt.tx_e Transaction Event a wt.tx_e=a - Required for Add Product to Cart within Behaviors
wt.pn_sku Product SKU {SKUID(;SKUID2)} wt.pn_sku=SKU07345-PN - Used with Add Product to Cart within Behaviors
- ‘;’ delimited list (by line item)
wt.cg_n Content Group {CATEGORY(;CATEGORY2)} wt.cg_n=accessories - Used with Add Product to Cart within Behaviors
- ‘;’ delimited list (by line item)
wt.cg_s Content Sub Group {SUBCATEGORY(;SUBCATEGORY2)} wt.cg_s=shoes Used with Add Product to Cart within Behaviors
- ‘;’ delimited list (by line item)
wt.product_name Product Name {PRODNAME(;PRODNAME2)} wt.product_name=big trainers - ‘;’ delimited list (by line item)
wt.product_price Product Unit Price {XX.XX(;XX.XX)} wt.product_price=10.00 - ‘;’ delimited list (by line item)
wt.tx_u Units {QUANTITY(;QUANTITY2)} wt.tx_u=2 - ‘;’ delimited list (by line item)
wt.tx_s *Transaction Subtotal * {LINEITEMPRICE(;LINEITEMPRICE2)} wt.tx_s=20.00 - (wt.tx_u * wt.product_price per line item)
- ‘;’ delimited list (by line item)
wt.currency Currency {CURRENCYCODE} wt.currency=GBP -
wt.pn_id Product ID {PRODUCTID} wt.pn_id=232432 - Not necessary if your Product SKU (wt.pn_sku) values are the same
- ‘;’ delimited list (by line item)
wt.si_p Scenario Step Name {STEPNAME} wt.si_p=Add Product to Cart For Funnel Analysis within Analytics
wt.si_x Scenario Step Number {STEPNUMBER} wt.si_x=2 For Funnel Analysis within Analytics
wt.si_n Scenario Name {SCENARIONAME} wt.si_n=Commerce Flow For Funnel Analysis within Analytics
wt.tx_cartid Cart ID {Cart ID} wt.tx_cartid=58123435 -
wt.product_discount Product Discount {XX.XX(;XX.XX)} wt.product_discount=10.00 - Discount per line item
wt.pn_ma
- ‘;’ delimited list (by line item)
Product Manufacturer {MANUFACTURER(;MANUFACTURER2)} wt.pn_ma=acme ‘;’ delimited list (by line item)
wt.product_variant Product Variant {VARIANT(;VARIANT2)} wt.product_variant=green ‘;’ delimited list (by line item)

Example Implementation

Oracle CX Tag implementation

Please see below for an example implementation using the Oracle CX Tag:

<script>
(function(){
  // Send Data
  var cxDataObject = {           
    "wt.ev":"$AddProductToCart", // required
    "wt.tx_e":"a", // required for behavior
    "wt.pn_sku":"SKU07345-PN", // used with behavior
    "wt.cg_n":"accessories", // used with behavior
    "wt.cg_s":"shoes", // used with behavior  
    "wt.product_name":"big trainers",
    "wt.tx_u":"2",
    "wt.product_price":"10.00",
    "wt.tx_s":"20.00",
    "wt.pn_id":"232432",
    "wt.currency":"GBP",
    "wt.tx_cartid":"58123435",
    "wt.si_p":"Add Product to Cart",
    "wt.si_x":"2",
    "wt.si_n":"Cart Funnel",
    "wt.pn_ma":"acme",
    "wt.product_variant":"green",
    "wt.product_discount":"0.00"
  };
 
  // DO NOT EDIT BELOW THIS LINE - ORA.click()
  window.ORA = window.ORA || {productReady: []};
  ORA.productReady.push(['analytics', function(cxDataObject) {return function() {return ORA.click({"data": cxDataObject})}}(cxDataObject)]);
})();
</script>

Data Collection API Implementation

Please see below for an example implementation using the Data Collection API (why would I use this?) on a webpage (ensuring you persist the visitor ID as wt.co_f in your API calls):

<script>
(function() {
  var xmlhttp = new XMLHttpRequest();
  var url = "https://dc.oracleinfinity.io/v3/ACCOUNTGUID" // ACCOUNTGUID is your account GUID
 
  var payload = {
    "static": {
      "wt.co_f": "d19aabf1-f402-4854-b890-be077afa1b89" // Visitor ID : Take value of 'id' from ORA_FPC cookie
    },
    "events": [{
      "wt.dl": "1", // Denotes Click
      "dcsuri": document.location.pathname, // pathname
      "domain": document.domain, // domain           
      "wt.ti": document.title, // page title
      "wt.es": document.domain + document.location.pathname, // URL
      "wt.ssl": (document.location.protocol === "https:") ? "1" : "0", // Secure/non-secure
      "wt.ev":"$AddProductToCart", // required 
      "wt.tx_e": "a", // required for behavior
      "wt.pn_sku": "SKU07345-PN", // used with behavior
      "wt.cg_n": "accessories", // used with behavior
      "wt.cg_s": "shoes", // used with behavior
      "wt.product_name": "big trainers",
      "wt.tx_u": "2",
      "wt.product_price": "10.00",
      "wt.tx_s": "20.00",
      "wt.currency": "GBP",
      "wt.pn_id": "232432",
      "wt.tx_cartid": "58123435",
      "wt.si_p": "Add Product to Cart",
      "wt.si_x": "2",
      "wt.si_n": "Cart Funnel",
      "wt.pn_ma": "acme",
      "wt.product_variant": "green",
      "wt.product_discount": "0.00"
    }]
  };
  xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      window.console.log("post was successful, response was " + this.response);
    } else if (this.readyState == 4 && this.status != 200) {
      window.console.log("post was not successful, response was " + this.response);
    }
  };
  xmlhttp.open("POST", url);
  xmlhttp.setRequestHeader("Content-Type", "application/json");
  xmlhttp.send(JSON.stringify(payload));
})();
</script>

Remove Product from Cart

Description

Trigger upon removal of item(s) from cart.

Sample Usage

Parameter Name Syntax Sample Value Notes
wt.ev Event Type $RemoveProductFromCart wt.ev=$RemoveProductFromCart - Required
- What does $ mean in the value for wt.ev?
wt.tx_e Transaction Event r wt.tx_e=r - Required
wt.pn_sku Product SKU {SKUID(;SKUID2)} wt.pn_sku=SKU07345-PN - ‘;’ delimited list (by line item)
wt.cg_n Content Group {CATEGORY(;CATEGORY2)} wt.cg_n=accessories - ‘;’ delimited list (by line item)
wt.cg_s Content Sub Group {SUBCATEGORY(;SUBCATEGORY2)} wt.cg_s=shoes - ‘;’ delimited list (by line item)
wt.product_name Product Name {PRODNAME(;PRODNAME2)} wt.product_name=big trainers - ‘;’ delimited list (by line item)
wt.product_price Product Unit Price {XX.XX(;XX.XX)} wt.product_price=10.00 - ‘;’ delimited list (by line item)
wt.tx_u Units {QUANTITY(;QUANTITY2)} wt.tx_u=2 - ‘;’ delimited list (by line item)
wt.tx_s *Transaction Subtotal * {LINEITEMPRICE(;LINEITEMPRICE2)} wt.tx_s=20.00 - (wt.tx_u * wt.product_price per line item)
- ‘;’ delimited list (by line item)
wt.currency Currency {CURRENCYCODE} wt.currency=GBP -
wt.pn_id Product ID {PRODUCTID} wt.pn_id=232432 - Not necessary if your Product SKU (wt.pn_sku) values are the same
- ‘;’ delimited list (by line item)
wt.tx_cartid Cart ID {Cart ID} wt.tx_cartid=58123435 -
wt.product_discount Product Discount {XX.XX(;XX.XX)} wt.product_discount=10.00 - Discount per line item
- ‘;’ delimited list (by line item)
wt.pn_ma Product Manufacturer {MANUFACTURER(;MANUFACTURER2)} wt.pn_ma=acme ‘;’ delimited list (by line item)
wt.product_variant Product Variant {VARIANT(;VARIANT2)} wt.product_variant=green ‘;’ delimited list (by line item)

Example Implementation

Oracle CX Tag implementation

Please see below for an example implementation using the Oracle CX Tag:

<script>
(function(){
  // Send Data
  var cxDataObject = { 
    "wt.ev":"$RemoveProductFromCart", // required
    "wt.tx_e":"r", // required
    "wt.pn_sku":"SKU07345-PN",
    "wt.cg_n":"accessories",
    "wt.cg_s":"shoes",
    "wt.product_name":"big trainers",
    "wt.tx_u":"2",
    "wt.product_price":"10.00",   
    "wt.tx_s":"20.00",
    "wt.currency":"GBP",
    "wt.tx_cartid":"58123435",
    "wt.pn_id":"232432", 
    "wt.pn_ma":"acme",
    "wt.product_variant":"green",
    "wt.product_discount":"0.00"
  };
 
  // DO NOT EDIT BELOW THIS LINE - ORA.click()
  window.ORA = window.ORA || {productReady: []};
  ORA.productReady.push(['analytics', function(cxDataObject) {return function() {return ORA.click({"data": cxDataObject})}}(cxDataObject)]);
})();
</script>

Data Collection API Implementation

Please see below for an example implementation using the Data Collection API (why would I use this?) on a webpage (ensuring you persist the visitor ID as wt.co_f in your API calls):

<script>
(function() {
  var xmlhttp = new XMLHttpRequest();
  var url = "https://dc.oracleinfinity.io/v3/ACCOUNTGUID" // where ACCOUNTGUID is your account GUID
 
  var payload = {
    "static": {
      "wt.co_f": "d19aabf1-f402-4854-b890-be077afa1b89" // Visitor ID : Take value of 'id' from ORA_FPC cookie
    },
    "events": [{
      "wt.dl": "1", // Denotes Click
      "dcsuri": document.location.pathname, // pathname
      "domain": document.domain, // domain           
      "wt.ti": document.title, // page title
      "wt.es": document.domain + document.location.pathname, // URL
      "wt.ssl": (document.location.protocol === "https:") ? "1" : "0", // Secure/non-secure
      "wt.ev":"$RemoveProductFromCart", // required
      "wt.tx_e": "r",
      "wt.pn_sku": "SKU07345-PN",
      "wt.cg_n": "accessories",
      "wt.cg_s": "shoes",
      "wt.product_name": "big trainers",
      "wt.tx_u": "2",
      "wt.product_price": "10.00",
      "wt.tx_s": "20.00",     
      "wt.currency": "GBP",
      "wt.pn_id": "232432", 
      "wt.tx_cartid": "58123435",
      "wt.pn_ma": "acme",
      "wt.product_variant": "green",
      "wt.product_discount": "0.00"
    }]
  };
  xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      window.console.log("post was successful, response was " + this.response);
    } else if (this.readyState == 4 && this.status != 200) {
      window.console.log("post was not successful, response was " + this.response);
    }
  };
  xmlhttp.open("POST", url);
  xmlhttp.setRequestHeader("Content-Type", "application/json");
  xmlhttp.send(JSON.stringify(payload));
})();
</script>

View Shopping Cart Items

Description

Trigger upon view of cart.

Sample Usage

Parameter Name Syntax Sample Value Notes
wt.ev Event Type $ViewShoppingCartItems wt.ev=$ViewShoppingCartItems - Required for View shopping cart items Behavior
- What does $ mean in the value for wt.ev?
wt.tx_cartid Cart ID {Cart ID} wt.tx_cartid=58123435 - Used with View shopping cart items Behavior
wt.tx_e Transaction Event vc wt.tx_e=vc -
wt.currency Currency {CURRENCYCODE} wt.currency=GBP -
wt.cart_subtotal Cart Subtotal {XX.XX} wt.cart_subtotal=105.00 -
wt.cart_total Cart Total {XX.XX} wt.cart_total=116.00 Cart Total must match sum of Transaction Subtotal (wt.tx_s)
wt.cart_tax Cart Tax {XX.XX} wt.cart_tax=10.00 -
wt.cart_shipping Cart Shipping {XX.XX} wt.cart_shipping=1.00 -
wt.cart_discount Cart Discount {XX.XX} wt.cart_discount=4.00 Discount for entire cart
wt.pn_sku Product SKU {SKUID(;SKUID2)} wt.pn_sku=SKU1;SKU3;SKU9 - ‘;’ delimited list (by line item)
wt.product_name Product Name {PRODNAME(;PRODNAME2)} wt.product_name=big trainers;big dress;stripey socks - ‘;’ delimited list (by line item)
wt.tx_u Units {QUANTITY(;QUANTITY2)} wt.tx_u=1;4;3 - ‘;’ delimited list (by line item)
wt.product_price Product Unit Price {XX.XX(;XX.XX)} wt.product_price=10.00;20.00;5.00 - ‘;’ delimited list (by line item)
wt.tx_s *Transaction Subtotal * {LINEITEMPRICE(;LINEITEMPRICE2)} wt.tx_s=10.00;80.00;15.00 - (wt.tx_u * wt.product_price per line item)
- ‘;’ delimited list (by line item)
wt.cg_n Content Group {CATEGORY(;CATEGORY2)} wt.cg_n=accessories;womens;accessories - ‘;’ delimited list (by line item)
wt.cg_s Content Sub Group {SUBCATEGORY(;SUBCATEGORY2)} wt.cg_s=shoes;dresses;socks - ‘;’ delimited list (by line item)
wt.pn_id Product ID {PRODUCTID} wt.pn_id=232432;23423;32123 - Not necessary if your Product SKU (wt.pn_sku) values are the same
- ‘;’ delimited list (by line item)
wt.si_p Scenario Step Name {STEPNAME} wt.si_p=View Shopping Cart Items For Funnel Analysis within Analytics
wt.si_x Scenario Step Number {STEPNUMBER} wt.si_x=3 For Funnel Analysis within Analytics
wt.si_n Scenario Name {SCENARIONAME} wt.si_n=Commerce Flow For Funnel Analysis within Analytics
wt.cart_coupon Cart Coupon {COUPON CODE} wt.cart_coupon=SPRINGDISCOUNT -
wt.product_discount Product Discount {XX.XX(;XX.XX)} wt.product_discount=0.00;4.00;0.00 - Discount per line item
- ‘;’ delimited list (by line item)
wt.pn_ma Product Manufacturer {MANUFACTURER(;MANUFACTURER2)} wt.pn_ma=acme;fudd;acme - ‘;’ delimited list (by line item)
wt.product_variant Product Variant {VARIANT(;VARIANT2)} wt.product_variant=green;grey;stripey - ‘;’ delimited list (by line item)

*Additional configuration may be required for Recommendations depending on your use case. Please reach out to Oracle representative for more details.

Example Implementation

Oracle CX Tag implementation

Please see below for an example implementation using the Oracle CX Tag:

<script>
(function(){
  // Send Data
  var cxDataObject = {   
  "wt.ev":"$ViewShoppingCartItems", // required for behavior
  "wt.tx_cartid":"58123435", // used with behavior
  "wt.tx_e":"vc",   
  "wt.cart_subtotal":"105.00",  
  "wt.cart_total":"116.00",
  "wt.cart_tax":"10.00",
  "wt.cart_shipping":"1.00",
  "wt.cart_discount":"4.00",
  "wt.currency":"GBP", 
  "wt.pn_sku":"SKU1;SKU3;SKU9",
  "wt.product_name":"big trainers;big dress;stripey socks",
  "wt.tx_u":"1;4;3",
  "wt.product_price":"10.00;20.00;5.00",
  "wt.tx_s":"10.00;80.00;15.00",
  "wt.cg_n":"accessories;womens;accessories",
  "wt.cg_s":"shoes;dresses;socks",
  "wt.pn_id":"232432;23423;32123",
  "wt.si_p":"View Shopping Cart Items",
  "wt.si_x":"3",
  "wt.si_n":"Cart Funnel",
  "wt.cart_coupon":"SPRINGDISCOUNT", 
  "wt.product_discount":"0.00;1.00;0.00",
  "wt.pn_ma":"acme;fudd;acme",
  "wt.product_variant":"green;grey;stripey"
  };
 
  // DO NOT EDIT BELOW THIS LINE - ORA.view() (you may also use ORA.click() depending on your scenario)
  window.ORA = window.ORA || {productReady: []};
  ORA.productReady.push(['analytics', function(cxDataObject) {return function() {return ORA.view({"data": cxDataObject})}}(cxDataObject)]);
})();
</script>

Data Collection API Implementation

Please see below for an example implementation using the Data Collection API (why would I use this?) on a webpage (ensuring you persist the visitor ID as wt.co_f in your API calls):

<script>
(function() {
  var xmlhttp = new XMLHttpRequest();
  var url = "https://dc.oracleinfinity.io/v3/ACCOUNTGUID" // where ACCOUNTGUID is your account GUID
 
  var payload = {
    "static": {
      "wt.co_f": "d19aabf1-f402-4854-b890-be077afa1b89" // Visitor ID : Take value of 'id' from ORA_FPC cookie
    },
    "events": [{
      "wt.dl": "0", // Denotes Page View (or "1" for a click)
      "dcsuri": document.location.pathname, // pathname
      "domain": document.domain, // domain           
      "wt.ti": document.title, // page title
      "wt.es": document.domain + document.location.pathname, // URL
      "wt.ssl": (document.location.protocol === "https:") ? "1" : "0", // Secure/non-secure
      "wt.ev": "$ViewShoppingCartItems", // required for behavior
      "wt.tx_cartid": "58123435", // used with behavior
      "wt.tx_e": "vc",
      "wt.currency": "GBP",
      "wt.cart_coupon": "SPRINGDISCOUNT",
      "wt.cart_subtotal": "105.00",
      "wt.cart_total": "116.00",
      "wt.cart_tax": "10.00",
      "wt.cart_shipping": "1.00",
      "wt.cart_discount": "4.00",
      "wt.product_name": "big trainers;big dress;stripey socks",
      "wt.pn_sku": "SKU1;SKU3;SKU9",
      "wt.tx_u": "1;4;3",
      "wt.product_price": "10.00;20.00;5.00",
      "wt.tx_s": "10.00;80.00;15.00",
      "wt.cg_n": "accessories;womens;accessories",
      "wt.cg_s": "shoes;dresses;socks",
      "wt.si_p": "View Shopping Cart Items",
      "wt.si_x": "3",
      "wt.si_n": "Cart Funnel",
      "wt.pn_id": "232432;23423;32123",
      "wt.product_discount": "0.00;1.00;0.00",
      "wt.pn_ma": "acme;fudd;acme",
      "wt.product_variant": "green;grey;stripey"
    }]
  };
  xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      window.console.log("post was successful, response was " + this.response);
    } else if (this.readyState == 4 && this.status != 200) {
      window.console.log("post was not successful, response was " + this.response);
    }
  };
  xmlhttp.open("POST", url);
  xmlhttp.setRequestHeader("Content-Type", "application/json");
  xmlhttp.send(JSON.stringify(payload));
})();
</script>

Checkout

Description

Upon load of checkout page.

Sample Usage

Parameter Name Syntax Sample Value Notes
wt.ev Event Type $Checkout wt.ev=$Checkout - Required
- What does $ mean in the value for wt.ev?
wt.tx_e Transaction Event co wt.tx_e=co -
wt.currency Currency {CURRENCYCODE} wt.currency=GBP -
wt.tx_cartid Cart ID {Cart ID} wt.tx_cartid=58123435 -
wt.cart_subtotal Cart Subtotal {XX.XX} wt.cart_subtotal=105.00 -
wt.cart_total Cart Total {XX.XX} wt.cart_total=116.00 Cart Total must match sum of Transaction Subtotal (wt.tx_s)
wt.cart_tax Cart Tax {XX.XX} wt.cart_tax=10.00 -
wt.cart_shipping Cart Shipping {XX.XX} wt.cart_shipping=1.00 -
wt.cart_discount Cart Discount {XX.XX} wt.cart_discount=4.00 Discount for entire cart
wt.pn_sku Product SKU {SKUID(;SKUID2)} wt.pn_sku=SKU1;SKU3;SKU9 - Used with Add Product to Cart within Behaviors
- ‘;’ delimited list (by line item)
wt.product_name Product Name {PRODNAME(;PRODNAME2)} wt.product_name=big trainers;big dress;stripey socks - ‘;’ delimited list (by line item)
wt.tx_u Units {QUANTITY(;QUANTITY2)} wt.tx_u=1;4;3 - ‘;’ delimited list (by line item)
wt.product_price Product Unit Price {XX.XX(;XX.XX)} wt.product_price=10.00;20.00;5.00 - ‘;’ delimited list (by line item)
wt.tx_s *Transaction Subtotal * {LINEITEMPRICE(;LINEITEMPRICE2)} wt.tx_s=10.00;80.00;15.00 - (wt.tx_u * wt.product_price per line item)
- ‘;’ delimited list (by line item)
wt.cg_n Content Group {CATEGORY(;CATEGORY2)} wt.cg_n=accessories;womens;accessories - ‘;’ delimited list (by line item)
wt.cg_s Content Sub Group {SUBCATEGORY(;SUBCATEGORY2)} wt.cg_s=shoes;dresses;socks - ‘;’ delimited list (by line item)
wt.pn_id Product ID {PRODUCTID} wt.pn_id=232432;23423;32123 - Not necessary if your Product SKU (wt.pn_sku) values are the same
- ‘;’ delimited list (by line item)
wt.si_p Scenario Step Name {STEPNAME} wt.si_p=Checkout For Funnel Analysis within Analytics
wt.si_x Scenario Step Number {STEPNUMBER} wt.si_x=4 For Funnel Analysis within Analytics
wt.si_n Scenario Name {SCENARIONAME} wt.si_n=Commerce Flow For Funnel Analysis within Analytics
wt.cart_coupon Cart Coupon {COUPON CODE} wt.cart_coupon=SPRINGDISCOUNT -
wt.product_discount Product Discount {XX.XX(;XX.XX)} wt.product_discount=0.00;4.00;0.00 - Discount per line item
- ‘;’ delimited list (by line item)
wt.pn_ma Product Manufacturer {MANUFACTURER(;MANUFACTURER2)} wt.pn_ma=acme;fudd;acme - ‘;’ delimited list (by line item)
wt.product_variant Product Variant {VARIANT(;VARIANT2)} wt.product_variant=green;grey;stripey - ‘;’ delimited list (by line item)

Example Implementation

Oracle CX Tag implementation

Please see below for an example implementation using the Oracle CX Tag:

<script>
(function(){
  // Send Data
  var cxDataObject = {        
    "wt.tx_e":"co",
    "wt.tx_cartid":"58123435",
    "wt.currency":"GBP",
    "wt.cart_coupon":"SPRINGDISCOUNT",
    "wt.cart_subtotal":"105.00",
    "wt.cart_total":"116.00",
    "wt.cart_tax":"10.00",
    "wt.cart_shipping":"1.00",
    "wt.cart_discount":"4.00",
    "wt.pn_sku":"SKU1;SKU3;SKU9",
    "wt.product_name":"big trainers;big dress;stripey socks",
    "wt.tx_u":"1;4;3",
    "wt.product_price":"10.00;20.00;5.00",
    "wt.tx_s":"10.00;80.00;15.00",
    "wt.cg_n":"accessories;womens;accessories",
    "wt.cg_s":"shoes;dresses;socks",
    "wt.si_p":"Checkout",
    "wt.si_x":"4",
    "wt.si_n":"Cart Funnel",
    "wt.pn_id":"232432;23423;32123",
    "wt.product_discount":"",
    "wt.product_discount":"0.00;1.00;0.00",
    "wt.pn_ma":"acme;fudd;acme",
    "wt.product_variant":"green;grey;stripey"
  };
 
  // DO NOT EDIT BELOW THIS LINE - ORA.view() (you may also use ORA.click() depending on your scenario)
  window.ORA = window.ORA || {productReady: []};
  ORA.productReady.push(['analytics', function(cxDataObject) {return function() {return ORA.view({"data": cxDataObject})}}(cxDataObject)]);
})();
</script>

Data Collection API Implementation

Please see below for an example implementation using the Data Collection API (why would I use this?) on a webpage (ensuring you persist the visitor ID as wt.co_f in your API calls):

<script>
(function() {
  var xmlhttp = new XMLHttpRequest();
  var url = "https://dc.oracleinfinity.io/v3/ACCOUNTGUID" // where ACCOUNTGUID is your account GUID
 
  var payload = {
    "static": {
      "wt.co_f": "d19aabf1-f402-4854-b890-be077afa1b89" // Visitor ID : Take value of 'id' from ORA_FPC cookie
    },
    "events": [{
      "wt.dl": "0", // Denotes Page View (or "1" for a click)
      "dcsuri": document.location.pathname, // pathname
      "domain": document.domain, // domain           
      "wt.ti": document.title, // page title
      "wt.es": document.domain + document.location.pathname, // URL
      "wt.ssl": (document.location.protocol === "https:") ? "1" : "0", // Secure/non-secure
      "wt.tx_e": "co",
      "wt.tx_cartid": "58123435",
      "wt.currency": "GBP",
      "wt.cart_coupon": "SPRINGDISCOUNT",
      "wt.cart_subtotal": "105.00",
      "wt.cart_total": "116.00",
      "wt.cart_tax": "10.00",
      "wt.cart_shipping": "1.00",
      "wt.cart_discount": "4.00",
      "wt.pn_sku": "SKU1;SKU3;SKU9",
      "wt.product_name": "big trainers;big dress;stripey socks",
      "wt.tx_u": "1;4;3",
      "wt.product_price": "10.00;20.00;5.00",
      "wt.tx_s": "10.00;80.00;15.00",
      "wt.cg_n": "accessories;womens;accessories",
      "wt.cg_s": "shoes;dresses;socks",
      "wt.si_p": "Checkout",
      "wt.si_x": "4",
      "wt.si_n": "Cart Funnel",
      "wt.pn_id": "232432;23423;32123",
      "wt.product_discount": "",
      "wt.product_discount": "0.00;1.00;0.00",
      "wt.pn_ma": "acme;fudd;acme",
      "wt.product_variant": "green;grey;stripey"
    }]
  };
  xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      window.console.log("post was successful, response was " + this.response);
    } else if (this.readyState == 4 && this.status != 200) {
      window.console.log("post was not successful, response was " + this.response);
    }
  };
  xmlhttp.open("POST", url);
  xmlhttp.setRequestHeader("Content-Type", "application/json");
  xmlhttp.send(JSON.stringify(payload));
})();
</script>

Purchase Product

Description

Upon order confirmation page of product purchase.

Sample Usage

Parameter Name Syntax Sample Value Notes
wt.ev Event Type $Purchase wt.ev=$Purchase - Required
- What does $ mean in the value for wt.ev?
wt.tx_e Transaction Event p wt.tx_e=p - Required for Purchase product within Behaviors
- Required for Purchase event in Recommendations*
wt.pn_sku Product SKU {SKUID(;SKUID2)} wt.pn_sku=SKU1;SKU3;SKU9 - Used with Purchase product within Behaviors
- Used with Purchase event in Recommendations*
- ‘;’ delimited list (by line item)
wt.cg_n Content Group {CATEGORY(;CATEGORY2)} wt.cg_n=accessories;womens;accessories - Used with Purchase product within Behaviors
- ‘;’ delimited list (by line item)
wt.cg_s Content Sub Group {SUBCATEGORY(;SUBCATEGORY2)} wt.cg_s=shoes;dresses;socks - Used with Purchase product within Behaviors
- ‘;’ delimited list (by line item)
wt.product_name Product Name {PRODNAME(;PRODNAME2)} wt.product_name=big trainers;big dress;stripey socks - ‘;’ delimited list (by line item)
wt.pn_id Product ID {PRODUCTID} wt.pn_id=232432;23423;32123 - Not necessary if your Product SKU (wt.pn_sku) values are the same
- ‘;’ delimited list (by line item)
wt.product_price Product Unit Price {XX.XX(;XX.XX)} wt.product_price=10.00;20.00;5.00 - ‘;’ delimited list (by line item)
wt.tx_u Units {QUANTITY(;QUANTITY2)} wt.tx_u=1;4;3 - ‘;’ delimited list (by line item)
wt.tx_s *Transaction Subtotal * {LINEITEMPRICE(;LINEITEMPRICE2)} wt.tx_s=10.00;80.00;15.00 - (wt.tx_u * wt.product_price per line item)
- ‘;’ delimited list (by line item)
wt.email_sha256 SHA-256 Hashed Email Address {SHA-256 HASHED EMAIL ADDRESS} wt.email_sha256=588833DBA4CCAE4E7A33ADFA7F3F965073A4F3E4D05B5C2935BD642D22107247 Allows Actions to work with Connections requiring person-level identification (for example, Oracle Responsys)**
wt.dcsvid External Visitor Parameter*** {YOUR EXTERNAL-LEVEL IDENTIFIER} wt.dcsvid=MYCUSTOMERID123 Allows Actions to work with Connections requiring person-level identification (for example, Oracle Responsys)**
wt.currency Currency {CURRENCYCODE} wt.currency=GBP -
wt.tx_cartid Cart ID {Cart ID} wt.tx_cartid=58123435 -
wt.tx_id Invoice Date {mm/dd/yyyy} wt.tx_id=12/25/2021 -
wt.tx_it Invoice Time {hh:mm:ss} wt.tx_it=23:58:10 -
wt.tx_i Invoice Number {Invoice/Order ID} wt.tx_i=132432ASP34 -
wt.currency Currency {CURRENCYCODE} wt.currency=GBP -
wt.cart_coupon Cart Coupon {COUPON CODE} wt.cart_coupon=SPRINGDISCOUNT -
wt.cart_subtotal Cart Subtotal {XX.XX} wt.cart_subtotal=105.00 -
wt.cart_total Cart Total {XX.XX} wt.cart_total=116.00 Cart Total must match sum of Transaction Subtotal (wt.tx_s)
wt.cart_tax Cart Tax {XX.XX} wt.cart_tax=10.00 -
wt.cart_shipping Cart Shipping {XX.XX} wt.cart_shipping=1.00 -
wt.cart_discount Cart Discount {XX.XX} wt.cart_discount=4.00 Discount for entire cart
wt.si_p Scenario Step Name {STEPNAME} wt.si_p=Purchase For Funnel Analysis within Analytics
wt.si_x Scenario Step Number {STEPNUMBER} wt.si_x=5 For Funnel Analysis within Analytics
wt.si_n Scenario Name {SCENARIONAME} wt.si_n=Commerce Flow For Funnel Analysis within Analytics
wt.si_cs Conversion Name 1 wt.si_cs=1 For Funnel Analysis within Analytics
wt.cart_coupon Cart Coupon {COUPON CODE} wt.cart_coupon=SPRINGDISCOUNT -
wt.product_discount Product Discount {XX.XX(;XX.XX)} wt.product_discount=0.00;4.00;0.00 - Discount per line item
- ‘;’ delimited list (by line item)
wt.pn_ma Product Manufacturer {MANUFACTURER(;MANUFACTURER2)} wt.pn_ma=acme;fudd;acme - ‘;’ delimited list (by line item)
wt.product_variant Product Variant {VARIANT(;VARIANT2)} wt.product_variant=green;grey;stripey - ‘;’ delimited list (by line item)

*Additional configuration may be required for Recommendations depending on your use case. Please reach out to Oracle representative for more details.

**See User-Identifiers.

***External Visitor Parameters can be set for any identifier (for example, your customer ID).

Example Implementation

Oracle CX Tag implementation

Please see below for an example implementation using the Oracle CX Tag:

<script>
(function(){
  // Send Data
  var cxDataObject = {
  "wt.ev":"$Purchase", // required
  "wt.tx_e":"p", // required for behavior
  "wt.pn_sku":"SKU1;SKU3;SKU9", // used with behavior
  "wt.cg_n":"accessories;womens;accessories", // used with behavior
  "wt.cg_s":"shoes;dresses;socks", // used with behavior
  "wt.tx_s":"10.00;80.00;15.00", // used with behavior
  "wt.tx_u":"1;4;3", // used with behavior
  "wt.product_price":"10.00;20.00;5.00",
  "wt.product_name":"big trainers;big dress;stripey socks",
  "wt.pn_id":"232432;23423;32123",
  "wt.email_sha256":"588833DBA4CCAE4E7A33ADFA7F3F965073A4F3E4D05B5C2935BD642D22107247",
  "wt.dcsvid":"MYCUSTOMERID123",
  "wt.tx_cartid":"58123435",
  "wt.tx_id":"12/25/2021",
  "wt.tx_it":"23:58:10",
  "wt.tx_i":"132432ASP34",
  "wt.currency":"GBP",
  "wt.cart_coupon":"SPRINGDISCOUNT",
  "wt.cart_subtotal":"105.00",
  "wt.cart_total":"116.00",
  "wt.cart_tax":"10.00",
  "wt.cart_shipping":"1.00",
  "wt.cart_discount":"4.00",
  "wt.si_p":"Purchase",
  "wt.si_x":"5",
  "wt.si_n":"Cart Funnel",
  "wt.si_cs":"1",
  "wt.product_discount":"0.00;1.00;0.00",
  "wt.pn_ma":"acme;fudd;acme",
  "wt.product_variant":"green;grey;stripey"
  };
 
  // DO NOT EDIT BELOW THIS LINE - ORA.view() (you may also use ORA.click() depending on your scenario)
  window.ORA = window.ORA || {productReady: []};
  ORA.productReady.push(['analytics', function(cxDataObject) {return function() {return ORA.view({"data": cxDataObject})}}(cxDataObject)]);
})();
</script>

Data Collection API Implementation

Please see below for an example implementation using the Data Collection API (why would I use this?) on a webpage (ensuring you persist the visitor ID as wt.co_f in your API calls):

<script>
(function() {
  var xmlhttp = new XMLHttpRequest();
  var url = "https://dc.oracleinfinity.io/v3/ACCOUNTGUID" // where ACCOUNTGUID is your account GUID
 
  var payload = {
    "static": {
      "wt.co_f": "d19aabf1-f402-4854-b890-be077afa1b89" // Visitor ID : Take value of 'id' from ORA_FPC cookie
    },
    "events": [{
      "wt.dl": "0", // Denotes Page View (or "1" for a click)
      "dcsuri": document.location.pathname, // pathname
      "domain": document.domain, // domain           
      "wt.ti": document.title, // page title
      "wt.es": document.domain + document.location.pathname, // URL
      "wt.ssl": (document.location.protocol === "https:") ? "1" : "0", // Secure/non-secure
      "wt.ev":"$Purchase", // required 
      "wt.tx_e": "p", // required for behavior
      "wt.pn_sku": "SKU1;SKU3;SKU9", // used with behavior
      "wt.cg_n": "accessories;womens;accessories", // used with behavior
      "wt.cg_s": "shoes;dresses;socks", // used with behavior
      "wt.tx_u": "1;4;3", // used with behavior
      "wt.tx_s": "10.00;80.00;15.00", // used with behavior
      "wt.product_name": "big trainers;big dress;stripey socks",
      "wt.product_price": "10.00;20.00;5.00",       
      "wt.dcsvid": "MYCUSTOMERID123",
      "wt.tx_cartid": "58123435",   
      "wt.tx_id": "12/25/2021",
      "wt.tx_it": "23:58:10",
      "wt.tx_i": "132432ASP34",
      "wt.currency": "GBP",
      "wt.cart_coupon": "SPRINGDISCOUNT",
      "wt.cart_subtotal": "105.00",
      "wt.cart_total": "116.00",
      "wt.cart_tax": "10.00",
      "wt.cart_shipping": "1.00",
      "wt.cart_discount": "4.00",
      "wt.si_p": "Purchase",
      "wt.si_x": "5",
      "wt.si_n": "Cart Funnel",
      "wt.si_cs": "1",     
      "wt.pn_id": "232432;23423;32123",
      "wt.product_discount": "0.00;1.00;0.00",
      "wt.pn_ma": "acme;fudd;acme",
      "wt.product_variant": "green;grey;stripey"
    }]
  };
  xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      window.console.log("post was successful, response was " + this.response);
    } else if (this.readyState == 4 && this.status != 200) {
      window.console.log("post was not successful, response was " + this.response);
    }
  };
  xmlhttp.open("POST", url);
  xmlhttp.setRequestHeader("Content-Type", "application/json");
  xmlhttp.send(JSON.stringify(payload));
})();
</script>

View Order Status

Description

Checking the status of an order:

Sample Usage

Parameter Name Syntax Sample Value Notes
wt.ev Event Type $ViewOrderStatus wt.ev=$ViewOrderStatus - Required for View Order Status within Behaviors
- What does $ mean in the value for wt.ev?
wt.tx_i Invoice Number {Invoice/Order ID} wt.tx_i=132432ASP34 Used with View Order Status within Behaviors
wt.email_sha256 SHA-256 Hashed Email Address {SHA-256 HASHED EMAIL ADDRESS} wt.email_sha256=588833DBA4CCAE4E7A33ADFA7F3F965073A4F3E4D05B5C2935BD642D22107247 Allows Actions to work with Connections requiring person-level identification (for example, Oracle Responsys)*
wt.dcsvid External Visitor Parameter** {YOUR EXTERNAL-LEVEL IDENTIFIER} wt.dcsvid=MYCUSTOMERID123 Allows Actions to work with Connections requiring person-level identification (for example, Oracle Responsys)**

*See User-Identifiers.

**External Visitor Parameters can be set for any identifier (for example, your customer ID).

Example Implementation

Oracle CX Tag implementation

Please see below for an example implementation using the Oracle CX Tag:

<script>
(function(){
  // Send Data
  var cxDataObject = {         
    "wt.ev":"$ViewOrderStatus", // required for behavior
    "wt.tx_i":"132432ASP34", // used with behavior
    "wt.email_sha256":"588833DBA4CCAE4E7A33ADFA7F3F965073A4F3E4D05B5C2935BD642D22107247",
    "wt.dcsvid":"MYCUSTOMERID123"
  };
 
  // DO NOT EDIT BELOW THIS LINE - ORA.view() (you may also use ORA.click() depending on your scenario)
  window.ORA = window.ORA || {productReady: []};
  ORA.productReady.push(['analytics', function(cxDataObject) {return function() {return ORA.view({"data": cxDataObject})}}(cxDataObject)]);
})();
</script>

Data Collection API Implementation

Please see below for an example implementation using the Data Collection API (why would I use this?) on a webpage (ensuring you persist the visitor ID as wt.co_f in your API calls):

<script>
(function() {
  var xmlhttp = new XMLHttpRequest();
  var url = "https://dc.oracleinfinity.io/v3/ACCOUNTGUID" // where ACCOUNTGUID is your account GUID
 
  var payload = {
    "static": {
      "wt.co_f": "d19aabf1-f402-4854-b890-be077afa1b89" // Visitor ID : Take value of 'id' from ORA_FPC cookie
    },
    "events": [{
      "wt.dl": "0", // Denotes Page View (or "1" for a click)
      "dcsuri": document.location.pathname, // pathname
      "domain": document.domain, // domain           
      "wt.ti": document.title, // page title
      "wt.es": document.domain + document.location.pathname, // URL
      "wt.ssl": (document.location.protocol === "https:") ? "1" : "0", // Secure/non-secure
      "wt.ev": "$ViewOrderStatus", // required for behavior
      "wt.tx_id": "12/25/2021", // used with behavior
      "wt.email_sha256": "588833DBA4CCAE4E7A33ADFA7F3F965073A4F3E4D05B5C2935BD642D22107247",
      "wt.dcsvid": "MYCUSTOMERID123"
    }]
  };
  xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      window.console.log("post was successful, response was " + this.response);
    } else if (this.readyState == 4 && this.status != 200) {
      window.console.log("post was not successful, response was " + this.response);
    }
  };
  xmlhttp.open("POST", url);
  xmlhttp.setRequestHeader("Content-Type", "application/json");
  xmlhttp.send(JSON.stringify(payload));
})();
</script>

Add Product to Wishlist

Description

Trigger upon addition of item(s) to a wishlist.

Sample Usage

Parameter Name Syntax Sample Value Notes
wt.ev Event Type $AddProductToWishlist wt.ev=$AddProductToWishlist Required for Add Product to Wishlist within Behaviors
- What does $ mean in the value for wt.ev?
wt.pn_sku Product SKU {SKUID(;SKUID2)} wt.pn_sku=SKU07345-PN - Used with Add Product to Wishlist within Behaviors
- ‘;’ delimited list (by line item)
wt.cg_n Content Group {CATEGORY(;CATEGORY2)} wt.cg_n=accessories ‘;’ delimited list (by line item)
wt.cg_s Content Sub Group {SUBCATEGORY(;SUBCATEGORY2)} wt.cg_s=shoes ‘;’ delimited list (by line item)
wt.product_name Product Name {PRODNAME(;PRODNAME2)} wt.product_name=big trainers ‘;’ delimited list (by line item)
wt.product_price Product Unit Price {XX.XX(;XX.XX)} wt.product_price=10.00 ‘;’ delimited list (by line item)
wt.tx_u Units {QUANTITY(;QUANTITY2)} wt.tx_u=2 ‘;’ delimited list (by line item)
wt.tx_s *Transaction Subtotal * {LINEITEMPRICE(;LINEITEMPRICE2)} wt.tx_s=20.00 - (wt.tx_u * wt.product_price per line item)
- ‘;’ delimited list (by line item)
wt.currency Currency {CURRENCYCODE} wt.currency=GBP -
wt.pn_id Product ID {PRODUCTID} wt.pn_id=232432 - Not necessary if your Product SKU (wt.pn_sku) values are the same
- ‘;’ delimited list (by line item)
wt.product_discount Product Discount {XX.XX(;XX.XX)} wt.product_discount=10.00 - Discount per line item
-‘;’ delimited list (by line item)
wt.pn_ma Product Manufacturer {MANUFACTURER(;MANUFACTURER2)} wt.pn_ma=acme ‘;’ delimited list (by line item)
wt.product_variant Product Variant {VARIANT(;VARIANT2)} wt.product_variant=green ‘;’ delimited list (by line item)

Example Implementation

Oracle CX Tag implementation

Please see below for an example implementation using the Oracle CX Tag:

<script>
(function(){
// Send Data
  var cxDataObject = {  
    "wt.ev":"$AddProductToWishlist", // required for behavior
    "wt.pn_sku":"SKU07345-PN", // used with behavior 
    "wt.cg_n":"accessories",
    "wt.cg_s":"shoes",
    "wt.currency":"GBP",
    "wt.product_price":"10.00",
    "wt.tx_s":"20.00",
    "wt.tx_u":"2",
    "wt.product_name":"big trainers",
    "wt.pn_id":"232432",
    "wt.pn_ma":"acme",
    "wt.product_variant":"green",
    "wt.product_discount":"0.00"
  };

  // DO NOT EDIT BELOW THIS LINE - ORA.click()
  window.ORA = window.ORA || {productReady: []};
  ORA.productReady.push(['analytics', function(cxDataObject) {return function() {return ORA.click({"data": cxDataObject})}}(cxDataObject)]);
})();
</script>

Data Collection API Implementation

Please see below for an example implementation using the Data Collection API (why would I use this?) on a webpage (ensuring you persist the visitor ID as wt.co_f in your API calls):

<script>
(function() {
  var xmlhttp = new XMLHttpRequest();
  var url = "https://dc.oracleinfinity.io/v3/ACCOUNTGUID" // ACCOUNTGUID is your account GUID

  var payload = {
    "static": {
      "wt.co_f": "d19aabf1-f402-4854-b890-be077afa1b89" // Visitor ID : Take value of 'id' from ORA_FPC cookie
    },
    "events": [{
      "wt.dl": "1", // Denotes Click
      "dcsuri": document.location.pathname, // pathname
      "domain": document.domain, // domain            
      "wt.ti": document.title, // page title
      "wt.es": document.domain + document.location.pathname, // URL
      "wt.ssl": (document.location.protocol === "https:") ? "1" : "0", // Secure/non-secure  
      "wt.ev": "$AddProductToWishlist", // required for behavior
      "wt.pn_sku": "SKU07345-PN", // used with behavior 
      "wt.cg_n": "accessories",
      "wt.cg_s": "shoes",
      "wt.currency": "GBP",
      "wt.product_price": "10.00",
      "wt.tx_s": "20.00",
      "wt.tx_u": "2",
      "wt.product_name": "big trainers",
      "wt.pn_id": "232432",
      "wt.pn_ma": "acme",
      "wt.product_variant": "green",
      "wt.product_discount": "0.00"
    }]
  };
  xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      window.console.log("post was successful, response was " + this.response);
    } else if (this.readyState == 4 && this.status != 200) {
      window.console.log("post was not successful, response was " + this.response);
    }
  };
  xmlhttp.open("POST", url);
  xmlhttp.setRequestHeader("Content-Type", "application/json");
  xmlhttp.send(JSON.stringify(payload));
})();
</script>

Add Product to Favorites

Description

Trigger upon addition of item(s) to a favourites list.

Sample Usage

Parameter Name Syntax Sample Value Notes
wt.ev Event Type $AddProductToFavorites wt.ev=$AddProductToFavorites Required for Add Product to Favourites within Behaviors
- What does $ mean in the value for wt.ev?
wt.pn_sku Product SKU {SKUID(;SKUID2)} wt.pn_sku=SKU07345-PN - Used with Add Product to Favourites within Behaviors
- ‘;’ delimited list (by line item)
wt.cg_n Content Group {CATEGORY(;CATEGORY2)} wt.cg_n=accessories ‘;’ delimited list (by line item)
wt.cg_s Content Sub Group {SUBCATEGORY(;SUBCATEGORY2)} wt.cg_s=shoes ‘;’ delimited list (by line item)
wt.product_name Product Name {PRODNAME(;PRODNAME2)} wt.product_name=big trainers ‘;’ delimited list (by line item)
wt.product_price Product Unit Price {XX.XX(;XX.XX)} wt.product_price=10.00 ‘;’ delimited list (by line item)
wt.tx_u Units {QUANTITY(;QUANTITY2)} wt.tx_u=2 ‘;’ delimited list (by line item)
wt.tx_s *Transaction Subtotal * {LINEITEMPRICE(;LINEITEMPRICE2)} wt.tx_s=20.00 - (wt.tx_u * wt.product_price per line item)
- ‘;’ delimited list (by line item)
wt.currency Currency {CURRENCYCODE} wt.currency=GBP -
wt.pn_id Product ID {PRODUCTID} wt.pn_id=232432 - Not necessary if your Product SKU (wt.pn_sku) values are the same
- ‘;’ delimited list (by line item)
wt.product_discount Product Discount {XX.XX(;XX.XX)} wt.product_discount=10.00 - Discount per line item
-‘;’ delimited list (by line item)
wt.pn_ma Product Manufacturer {MANUFACTURER(;MANUFACTURER2)} wt.pn_ma=acme ‘;’ delimited list (by line item)
wt.product_variant Product Variant {VARIANT(;VARIANT2)} wt.product_variant=green ‘;’ delimited list (by line item)

Example Implementation

Oracle CX Tag implementation

Please see below for an example implementation using the Oracle CX Tag:

<script>
(function(){
  // Send Data 
  var cxDataObject = { 
    "wt.ev":"$AddProductToFavorites", // required for behavior
    "wt.pn_sku":"SKU07345-PN", // used with behavior
    "wt.cg_n":"accessories",
    "wt.cg_s":"shoes",
    "wt.currency":"GBP",
    "wt.product_price":"10.00",
    "wt.tx_s":"20.00",
    "wt.tx_u":"2",
    "wt.product_name":"big trainers",
    "wt.pn_id":"232432",
    "wt.pn_ma":"acme",
    "wt.product_variant":"green",
    "wt.product_discount":"0.00"
  };
 
  // DO NOT EDIT BELOW THIS LINE - ORA.click()
  window.ORA = window.ORA || {productReady: []};
  ORA.productReady.push(['analytics', function(cxDataObject) {return function() {return ORA.click({"data": cxDataObject})}}(cxDataObject)]);
})();
</script>

Data Collection API Implementation

Please see below for an example implementation using the Data Collection API (why would I use this?) on a webpage (ensuring you persist the visitor ID as wt.co_f in your API calls):

<script>
(function() {
  var xmlhttp = new XMLHttpRequest();
  var url = "https://dc.oracleinfinity.io/v3/ACCOUNTGUID" // ACCOUNTGUID is your account GUID
 
  var payload = {
    "static": {
      "wt.co_f": "d19aabf1-f402-4854-b890-be077afa1b89" // Visitor ID : Take value of 'id' from ORA_FPC cookie
    },
    "events": [{
      "wt.dl": "1", // Denotes Click
      "dcsuri": document.location.pathname, // pathname
      "domain": document.domain, // domain           
      "wt.ti": document.title, // page title
      "wt.es": document.domain + document.location.pathname, // URL
      "wt.ssl": (document.location.protocol === "https:") ? "1" : "0", // Secure/non-secure 
      "wt.ev": "$AddProductToFavorites", // required for behavior 
      "wt.pn_sku": "SKU07345-PN", // used with behavior
      "wt.cg_n": "accessories",
      "wt.cg_s": "shoes",
      "wt.currency": "GBP",
      "wt.product_price": "10.00",
      "wt.tx_s": "20.00",
      "wt.tx_u": "2",
      "wt.product_name": "big trainers",
      "wt.pn_id": "232432",
      "wt.pn_ma": "acme",
      "wt.product_variant": "green",
      "wt.product_discount": "0.00"
    }]
  };
  xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      window.console.log("post was successful, response was " + this.response);
    } else if (this.readyState == 4 && this.status != 200) {
      window.console.log("post was not successful, response was " + this.response);
    }
  };
  xmlhttp.open("POST", url);
  xmlhttp.setRequestHeader("Content-Type", "application/json");
  xmlhttp.send(JSON.stringify(payload));
})();
</script>

Rate Product

Description

Trigger upon rating of a product.

Sample Usage

Parameter Name Syntax Sample Value Notes
wt.ev Event Type $RateProduct wt.ev=$RateProduct Required for Rate Product within Behaviors
- What does $ mean in the value for wt.ev?
wt.pn_sku Product SKU {SKUID(;SKUID2)} wt.pn_sku=SKU07345-PN - Used with Rate Product within Behaviors
- ‘;’ delimited list (by line item)
wt.cg_n Content Group {CATEGORY(;CATEGORY2)} wt.cg_n=accessories ‘;’ delimited list (by line item)
wt.cg_s Content Sub Group {SUBCATEGORY(;SUBCATEGORY2)} wt.cg_s=shoes ‘;’ delimited list (by line item)
wt.product_name Product Name {PRODNAME(;PRODNAME2)} wt.product_name=big trainers ‘;’ delimited list (by line item)
wt.product_price Product Unit Price {XX.XX(;XX.XX)} wt.product_price=10.00 ‘;’ delimited list (by line item)
wt.tx_u Units {QUANTITY(;QUANTITY2)} wt.tx_u=2 ‘;’ delimited list (by line item)
wt.tx_s *Transaction Subtotal * {LINEITEMPRICE(;LINEITEMPRICE2)} wt.tx_s=20.00 - (wt.tx_u * wt.product_price per line item)
- ‘;’ delimited list (by line item)
wt.currency Currency {CURRENCYCODE} wt.currency=GBP -
wt.pn_id Product ID {PRODUCTID} wt.pn_id=232432 - Not necessary if your Product SKU (wt.pn_sku) values are the same
- ‘;’ delimited list (by line item)
wt.product_discount Product Discount {XX.XX(;XX.XX)} wt.product_discount=10.00 - Discount per line item
-‘;’ delimited list (by line item)
wt.pn_ma Product Manufacturer {MANUFACTURER(;MANUFACTURER2)} wt.pn_ma=acme ‘;’ delimited list (by line item)
wt.product_variant Product Variant {VARIANT(;VARIANT2)} wt.product_variant=green ‘;’ delimited list (by line item)

Example Implementation

Oracle CX Tag implementation

Please see below for an example implementation using the Oracle CX Tag:

<script>
(function(){
  // Send Data
  var cxDataObject = { 
    "wt.ev":"$RateProduct ", // required for behavior
    "wt.pn_sku":"SKU07345-PN", // used with behavior
    "wt.cg_n":"accessories",
    "wt.cg_s":"shoes",
    "wt.currency":"GBP",
    "wt.product_price":"10.00",
    "wt.tx_s":"20.00",
    "wt.tx_u":"2",
    "wt.product_name":"big trainers",
    "wt.pn_id":"232432",
    "wt.pn_ma":"acme",
    "wt.product_variant":"green",
    "wt.product_discount":"0.00"
  };
 
  // DO NOT EDIT BELOW THIS LINE - ORA.click()
  window.ORA = window.ORA || {productReady: []};
  ORA.productReady.push(['analytics', function(cxDataObject) {return function() {return ORA.click({"data": cxDataObject})}}(cxDataObject)]);
})();
</script>

Data Collection API Implementation

Please see below for an example implementation using the Data Collection API (why would I use this?) on a webpage (ensuring you persist the visitor ID as wt.co_f in your API calls):

<script>
(function() {
  var xmlhttp = new XMLHttpRequest();
  var url = "https://dc.oracleinfinity.io/v3/ACCOUNTGUID" // ACCOUNTGUID is your account GUID
 
  var payload = {
    "static": {
      "wt.co_f": "d19aabf1-f402-4854-b890-be077afa1b89" // Visitor ID : Take value of 'id' from ORA_FPC cookie
    },
    "events": [{
      "wt.dl": "1", // Denotes Click
      "dcsuri": document.location.pathname, // pathname
      "domain": document.domain, // domain           
      "wt.ti": document.title, // page title
      "wt.es": document.domain + document.location.pathname, // URL
      "wt.ssl": (document.location.protocol === "https:") ? "1" : "0", // Secure/non-secure 
      "wt.ev": "$RateProduct", // required for behavior
      "wt.pn_sku": "SKU07345-PN", // used with behavior
      "wt.cg_n": "accessories",
      "wt.cg_s": "shoes",
      "wt.currency": "GBP",
      "wt.product_price": "10.00",
      "wt.tx_s": "20.00",
      "wt.tx_u": "2",
      "wt.product_name": "big trainers",
      "wt.pn_id": "232432",
      "wt.pn_ma": "acme",
      "wt.product_variant": "green",
      "wt.product_discount": "0.00"
    }]
  };
  xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      window.console.log("post was successful, response was " + this.response);
    } else if (this.readyState == 4 && this.status != 200) {
      window.console.log("post was not successful, response was " + this.response);
    }
  };
  xmlhttp.open("POST", url);
  xmlhttp.setRequestHeader("Content-Type", "application/json");
  xmlhttp.send(JSON.stringify(payload));
})();
</script>

Compare Product

Description

Upon comparison product(s).

Sample Usage

Parameter Name Syntax Sample Value Notes
wt.ev Event Type $CompareProduct wt.ev=$CompareProduct Required for Compare Product within Behaviors
- What does $ mean in the value for wt.ev?
wt.pn_sku Product SKU {SKUID(;SKUID2)} wt.pn_sku=SKU07345-PN - Used with Compare Product within Behaviors
- ‘;’ delimited list (by line item)
wt.cg_n Content Group {CATEGORY(;CATEGORY2)} wt.cg_n=accessories ‘;’ delimited list (by line item)
wt.cg_s Content Sub Group {SUBCATEGORY(;SUBCATEGORY2)} wt.cg_s=shoes ‘;’ delimited list (by line item)
wt.product_name Product Name {PRODNAME(;PRODNAME2)} wt.product_name=big trainers ‘;’ delimited list (by line item)
wt.product_price Product Unit Price {XX.XX(;XX.XX)} wt.product_price=10.00 ‘;’ delimited list (by line item)
wt.tx_u Units {QUANTITY(;QUANTITY2)} wt.tx_u=2 ‘;’ delimited list (by line item)
wt.tx_s *Transaction Subtotal * {LINEITEMPRICE(;LINEITEMPRICE2)} wt.tx_s=20.00 - (wt.tx_u * wt.product_price per line item)
- ‘;’ delimited list (by line item)
wt.currency Currency {CURRENCYCODE} wt.currency=GBP -
wt.pn_id Product ID {PRODUCTID} wt.pn_id=232432 - Not necessary if your Product SKU (wt.pn_sku) values are the same
- ‘;’ delimited list (by line item)
wt.product_discount Product Discount {XX.XX(;XX.XX)} wt.product_discount=10.00 - Discount per line item
-‘;’ delimited list (by line item)
wt.pn_ma Product Manufacturer {MANUFACTURER(;MANUFACTURER2)} wt.pn_ma=acme ‘;’ delimited list (by line item)
wt.product_variant Product Variant {VARIANT(;VARIANT2)} wt.product_variant=green ‘;’ delimited list (by line item)

Example Implementation

Oracle CX Tag implementation

Please see below for an example implementation using the Oracle CX Tag:

<script>
(function(){
  // Send Data
  var cxDataObject = { 
    "wt.ev":"$CompareProduct", // required for behavior
    "wt.pn_sku":"SKU07345-PN", // used with behavior
    "wt.cg_n":"accessories",
    "wt.cg_s":"shoes",
    "wt.currency":"GBP",
    "wt.product_price":"10.00",
    "wt.tx_s":"20.00",
    "wt.tx_u":"2",
    "wt.product_name":"big trainers",
    "wt.pn_id":"232432",
    "wt.pn_ma":"acme",
    "wt.product_variant":"green",
    "wt.product_discount":"0.00"
  };
 
  // DO NOT EDIT BELOW THIS LINE - ORA.click()
  window.ORA = window.ORA || {productReady: []};
  ORA.productReady.push(['analytics', function(cxDataObject) {return function() {return ORA.click({"data": cxDataObject})}}(cxDataObject)]);
})();
</script>

Data Collection API Implementation

Please see below for an example implementation using the Data Collection API (why would I use this?) on a webpage (ensuring you persist the visitor ID as wt.co_f in your API calls):

<script>
(function() {
  var xmlhttp = new XMLHttpRequest();
  var url = "https://dc.oracleinfinity.io/v3/ACCOUNTGUID" // ACCOUNTGUID is your account GUID
 
  var payload = {
    "static": {
      "wt.co_f": "d19aabf1-f402-4854-b890-be077afa1b89" // Visitor ID : Take value of 'id' from ORA_FPC cookie
    },
    "events": [{
      "wt.dl": "1", // Denotes Click
      "dcsuri": document.location.pathname, // pathname
      "domain": document.domain, // domain           
      "wt.ti": document.title, // page title
      "wt.es": document.domain + document.location.pathname, // URL
      "wt.ssl": (document.location.protocol === "https:") ? "1" : "0", // Secure/non-secure 
      "wt.ev": "$CompareProduct", // required for behavior
      "wt.pn_sku": "SKU07345-PN", // used with behavior
      "wt.cg_n": "accessories",
      "wt.cg_s": "shoes",
      "wt.currency": "GBP",
      "wt.product_price": "10.00",
      "wt.tx_s": "20.00",
      "wt.tx_u": "2",
      "wt.product_name": "big trainers",
      "wt.pn_id": "232432",
      "wt.pn_ma": "acme",
      "wt.product_variant": "green",
      "wt.product_discount": "0.00"
    }]
  };
  xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      window.console.log("post was successful, response was " + this.response);
    } else if (this.readyState == 4 && this.status != 200) {
      window.console.log("post was not successful, response was " + this.response);
    }
  };
  xmlhttp.open("POST", url);
  xmlhttp.setRequestHeader("Content-Type", "application/json");
  xmlhttp.send(JSON.stringify(payload));
})();
</script>

Frequently Asked Questions

Can I declare my own Parameters?

Yes, you can declare any parameters you like (for example, wt.mycustomparam=myvalue). Please see Parameters and Parameter Syntax.

What do all of the parameters mean?

Please see Full Parameter Reference for full definitions per parameter.

What does $ mean in the value for wt.ev?

When declaring your Event Type (wt.ev), you can declare any value you want. However, when a $ sign is specified this means that this is a system-reserved value which must not be used by anything other than this purpose. For example, for wt.ev=$CompareProduct, you must not use this value for anything other than tracking comparing products.

Why would I use the Data Collection API?

If you do not wish to use the Oracle CX Tag on particularly sensitive pages (such as check out journeys) due to Javascript library constraints, the Data Collection API allows you to generate tracking requests to Oracle Infinity without using any externally hosted Javascript libraries.

The Data Collection API does not generate any cookies to store a persistent visitor ID between pages on your website. Assuming you are deploying Oracle Infinity through the Oracle CX Tag on your other website pages, you will need to take the visitor’s ID stored in the first-party cookie ORA_FPC and pass it in your Data Collection API requests as wt.co_f to ensure visitors are tracked with a consistent ID throughout their whole website journey.

If you are not using the Oracle CX Tag and do not have the ORA_FPC cookie available for the user, you will need to generate your own unique visitor ID to pass as wt.co_f.

For more information, please see Data Collection API.

Learn more

Common Tracking Examples - Browse common tracking situations with their respective Infinity parameters..

Full Parameter Reference - View the full list of default Oracle Infinity parameter.

Oracle CX Tag - Implementation - Learn how to create tracking calls using the Oracle CX Tag.

Data Collection API - Learn how to send data into Oracle Infinity by API.

Oracle CX Mobile SDK - Behavior Tracking (Android) - Learn how to send data to Oracle Infinity using the Oracle CX Mobile SDK Infinity Module for Android.

Oracle CX Mobile SDK - Behavior Tracking (iOS) - Learn how to send data to Oracle Infinity using the Oracle CX Mobile SDK Infinity Module for iOS.