Product purchase signals

A Product Purchase represents conversion into a product, itinerary, account, or similar offering for purchase or application. Typically, this is in the form of an order, a booking, or an application.

  • Retail: Typically a product purchase
  • Travel: Typically the booking of an itinerary, room, etc.
  • Banking: Typically the application for a specific account
  • Insurance: Typically the application for a specific policy

Configuration

Required fields

FieldValuesDefinition
categoryString. Valid value - BehaviorThe category of the signal. For behavioral signals the category should always be “Behavior”.
nameString The name assigned to the signal. Can contain specific information about the signal that differentiates it from other signals.
signalTypeString. For product purchase signals, use
productPurchase.
The type of signal being sent. Must be from the set of supported signals.
productIdStringIdentifier of the product
productNameStringName of the product
quantityNumber or stringQuantity of the product added to cart. Can also be negative in the case that something was removed from cart.
unitPriceNumber or stringCurrent price of the product including discounts
currencyStringCurrency in which the price of the product is being represented

Optional fields

FieldValuesDefinition
effectString. Valid values:

- negative
- positive
Describes the effect of the signal on engagement. It is intended to be used for engagement index scoring.
signalCustomAttributesStringAllows for custom attributes that are not predefined by the product
discountNumber or stringDiscounts from the original price in currency. Adding the discount to the unitPrice would total the original price.
productCategoryStringCategory the product falls in based on the product catalog
productUrlStringURL of the product
productImageUrlStringURL of the image of the product
virtualCategoryStringPromotional category such as “recently added”

When the page loads, type 2 message is created.

Sample payload

{
  "signalType": "productPurchase",
  "name": "productPurchase from product page",
  "category": "Behavior",
  "productId": "10",
  "productName": "Today is a good day Framed poster-Dimension 40x60cm",
  "quantity": 1,
  "effect": "positive"
}

All data in the SDK payload must be collected manually, there is no automatic binding from the values in the page to the payload fields.