The lpTag.sdes object is useful for testing and troubleshooting behavior with Engagement Attributes (SDEs).

These functions are only available after the taglet has been loaded. Therefore, it is a good practice to prepend the following before any function calls:

window.lpTag = window.lpTag || {};
lpTag.sdes = lpTag.sdes||[];
// Function here

Push SDEs

The lpTag.sdes.push function will push an sde object or array of objects to the visitor session when the lpTag communicates next.

See the Send function if you need the SDEs to send immediately (eg. Single Page Apps)

It will trigger the VAR_ADDED event as well.

Function Name Arguments Returns
lpTag.sdes.push(sdes) sdes: object or array of objects None

Example

lpTag.sdes.push(
  {
    "type": "prodView", //MANDATORY
    "products": [{ //ARRAY OF PRODUCTS
      "product": {
        "name": "Women's Running Shoes", //PRODUCT NAME
        "category": "shoes", //PRODUCT CATEGORY NAME
        "sku": "10305020", //PRODUCT SKU OR UNIQUE IDENTIFIER
        "price": 119.95 //PRODUCT PRICE
      }
    }]
  }
);

Send SDEs

The lpTag.sdes.send function will push an sde object or array of objects to the visitor session immediately.

If using on page load, make sure the function exists. Falling back to lpTag.sdes.push is a good practice.

Function Name Arguments Returns
lpTag.sdes.send(data,fun) data (optional): can be undefined, one sde object, or an array of sde objects, fun (optional): can be undefined, this will be executed when the request to send SDE comes back (in case of error - fn will be called only on next successfull call or never in case of permanent error) None

Example

var data = {
   "type": "prodView", //MANDATORY
   "products": [{ //ARRAY OF PRODUCTS
     "product": {
       "name": "Women's Running Shoes", //PRODUCT NAME
       "category": "shoes", //PRODUCT CATEGORY NAME
       "sku": "10305020", //PRODUCT SKU OR UNIQUE IDENTIFIER
       "price": 119.95 //PRODUCT PRICE
     }
   }]
 };
 
var fun = function() {};
lpTag.sdes.send(data, fun);

Get SDEs

The lpTag.sdes.get function will return the sdes in the object store. It does not return all of the sdes from the visitor's session, but just the sdes that are present in the store on the given page.

This function returns the actual object and not a clone. Any tempering with the object may interfere with the expected functionality of the function.

Function Name Arguments Returns
lpTag.sdes.get(sdeType) sdeType (optional): string If sdeType was given: array of sdes with the type equal to the type given, or undefined if does not exist. If no sdeType was given: array of ALL sdes in the store

Example

lpTag.sdes.get("prodView");