Order Events
Overview
Order events represent the key events once the customer finishes the checkout process, completes the purchase, and the order confirmation page loads. Affirm’s machine learning systems draw upon this transaction data to improve our marketing products off- and onsite, providing more relevant, better converting financial offers to your customers over time.
trackOrderConfirmed (Order, Optional[Strict])
An event triggered when a customer completes the purchase. You can measure the sale of one or more products by this event.
Parameters
Parameters | Data type | Description |
---|---|---|
order required | object | The confirmed order. |
strict optional | boolean | True/False flag for ensuring the currency , orderID , paymentMethod , and total are sent in the Order object. This value must be true in order to use the new Enhanced Analytics implementation. |
Example
affirm.analytics.trackOrderConfirmed({
"currency": "USD",
"orderId": "AA-87654",
"paymentMethod": "Affirm",
"total": 23595
}, null, true);
An event triggered when a user cancels an order.
Parameters
Parameter | Data type | Description |
---|---|---|
order required | object | The canceled order. |
product optional | array | Products that were canceled by this order. |
strict optional | boolean | True/False flag for ensuring the currency , orderID , paymentMethod , and total are sent in the Order object. This value must be true in order to use the new Enhanced Analytics implementation. |
Example
affirm.analytics.trackOrderCancelled({
"storeName": "Affirm Store",
"coupon": "SUMMER2018",
"currency": "USD",
"discount": 0,
"paymentMethod": "Visa",
"revenue": 2920,
"shipping": 534,
"shippingMethod": "Fedex",
"tax": 285,
"orderId": "T12345",
"total": 3739
}, [{
"brand": "Affirm",
"category": "Apparel",
"coupon": "SUMMER2018",
"name": "Affirm T-Shirt",
"price": 730,
"productId": "SKU-1234",
"quantity": 1,
"variant": "Black"
}, {
"brand": "Affirm",
"category": "Apparel",
"coupon": "SUMMER2018",
"name": "Affirm Turtleneck Sweater",
"price": 2190,
"productId": "SKU-5678",
"quantity": 1,
"variant": "Black"
}]);
trackOrderRefunded (String, String, Integer, Optional[Product])
An event triggered when an order is partially or fully refunded.
Parameters
Parameter | Data type | Description |
---|---|---|
orderId required | string | A unique identifier representing the transaction to fully or partially refund. |
amount required | integer | The amount to refund, either partially or fully. |
currency | string | Three-letter ISO currency code, in uppercase. Possible values: - USD - CAD |
product optional | array | An array of objects representing the products within the order correlated to the refund amount. |
Example
affirm.analytics.trackOrderRefunded(
"O12345", 3739, "USD",
[{
"brand": "Affirm",
"category": "Apparel",
"coupon": "SUMMER2018",
"name": "Affirm T-Shirt",
"price": 730,
"productId": "SKU-1234",
"quantity": 1,
"variant": "Black"
}, {
"brand": "Affirm",
"category": "Apparel",
"coupon": "SUMMER2018",
"name": "Affirm Turtleneck Sweater",
"price": 2190,
"productId": "SKU-5678",
"quantity": 1,
"variant": "Black"
}]
);
An event triggered when a user updates an order.
Parameters
Parameter | Data type | Description |
---|---|---|
order required | object | The updated order. |
product optional | array | Products that were updated by this order. |
strict optional | boolean | True/False flag for ensuring the currency , orderID , paymentMethod , and total are sent in the Order object. This value must be true in order to use the new Enhanced Analytics implementation. |
Example
affirm.analytics.trackOrderUpdated({
"storeName": "Affirm Store",
"coupon": "SUMMER2018",
"currency": "USD",
"discount": 0,
"paymentMethod": "Visa",
"revenue": 2920,
"shipping": 534,
"shippingMethod": "Fedex",
"tax": 285,
"orderId": "T12345",
"total": 3739
}, [{
"brand": "Affirm",
"category": "Apparel",
"coupon": "SUMMER2018",
"name": "Affirm T-Shirt",
"price": 730,
"productId": "SKU-1234",
"quantity": 1,
"variant": "Black"
}, {
"brand": "Affirm",
"category": "Apparel",
"coupon": "SUMMER2018",
"name": "Affirm Turtleneck Sweater",
"price": 2190,
"productId": "SKU-5678",
"quantity": 1,
"variant": "Black"
}]);
Objects
Order
Represents a single customer's checkout transaction. This includes parameters related to the transaction once the customer completes their checkout.
Parameter | Description | |
---|---|---|
order required | string | Unique identifier of order in your system |
currency style="color:crimson">required | string | Three-letter ISO currency code, in uppercase. Possible values: - USD - CAD |
paymentMethod required | string | Description of payment method used (ex. “Visa”, “Mastercard”, “Gift Card”) |
total required | integer | The total value of the transaction, including tax and shipping. If not sent, this value will be automatically calculated using the product quantity and price fields of all products in the same hit. The value must be non-negative and represented as cents instead of dollars. |
Product
Represents any offered product or service.
Parameter | Description | |
---|---|---|
brand optional | string Maximum length: 500 Protocol parameter: prbr | The brand of the product (e.g., Affirm). |
category optional | string Maximum length: 500 Protocol parameter: prca | The category the product belongs to (e.g. Apparel). |
coupon optional | string Maximum length: 500 Protocol parameter: prcc | Any coupon code associated with the particular instance of this product. |
name optional | string Maximum length: 500 Protocol parameter: osn | The full name of the product (e.g., Affirm T-Shirt). |
price optional | integer Protocol parameter: prpr | The price of the product. The value must be non-negative and represented as cents instead of dollars. |
productID optional | string Maximum length: 500 Protocol parameter: prid | A unique identifier representing the product, such as the SKU or an internal database identifier used by the merchant. |
quantity optional | integer Protocol parameter: prqt | The quantity of the product. The value must be non-negative. |
variant optional | string Maximum length: 500 Protocol parameter: prva | The variant of the product (e.g., black). |
currency optional | string Protocol parameter: prcu | A currency code associated with this product (USD). |
Updated 3 months ago