Purchase

Reports that the user completed a purchase.

👍

Required for e-commerce sections.

Parameters

  • name: Human-readable name, not used to identify an event type
  • properties: A container for the event properties as specified in the following table:
PropertyDescriptionType
dyTypeMust be "purchase-v1".String
valueThe total monetary value of the event (the total cart purchased, not just the item that triggered the event); in the actual payment currency.Float (dollars.cents).

Numbers are rounded to the nearest 0.01. Numbers smaller than 0.005 are rounded down to 0.
currency

Optional, but required for multi-currency sites
The currency used for the valueString
List of supported currencies
uniqueTransactionId
Optional, but recommended
When this value is passed it ensures that only one purchase is recorded for the transaction ID, even if duplicate events are reported.String
Maximum of 64 characters
cartThe cart's absolute current state. Products are ordered from the first added to the cart to the most recent.Object

See the cart property table that follows for details.

Cart object properties:

PropertyDescriptionType
productIdSKU exactly as it appears in the product feedString
quantityNumber of itemsNumber
itemPriceThe price of the item addedFloat in the format: dollars.cents

Example: Implementation via script

DY.API("event", {
  name: "Purchase", // Human-readable name, not used to identify an event type
  properties: {
    uniqueTransactionId: "123456", // Will remove redundant events. Must be a string. Max 64 characters.
    dyType: "purchase-v1", // Identifies this event as a purchase
    value: 90.55, // Total cart value in actual payment currency, as float (dollars dot cents)
    currency: "any supported currency code", // Optional non-default currency used
    cart: [
      // itemPrice is per quantity of one, and in the same format as the total "value":
      // float of dollars.cents in the payment currency (which is only defined once above)
      {
        productId: "item-34454", // SKU exactly as in the product feed!
        quantity: 1,
        itemPrice: 65.87,
        size: "XL" // Size is *optional and a customer-specific string*
      }, {
        productId: "sku-4324-bg",
        quantity: 2,
        itemPrice: 12.34,
        size: "M"
      }
    ]
  }
});

Example: Implementation via Experience API (server-side)

"events":[{
  name: "Purchase",
  properties: {
    dyType: "purchase-v1",
    value: 349.80,
    uniqueTransactionId: "exampleTransactionId",
    cart: [
      {
        productId: "p-tv78615a",
        quantity: 1,
        itemPrice: 249.90,
      },
      {
        productId: "p-cr91275g",
        quantity: 2,
        itemPrice: 49.95
      }
    ]
  }
} ]

👍

Go to the API reference for the Events endpoint to learn more.