Checkout Events

Overview

The Checkout event represents the customer journey as they navigate through the checkout process.


trackCheckoutStarted: (Order, Optional[Product], Optional[Strict])

An event triggered once the checkout process begins for the customer, typically on the page, the customer navigates to after pressing the checkout button.

Parameters

ParameterData typeDescription
order requiredobjectThe order associated with this checkout.
'product`
optional
arrayProducts that are a part of the order.
strict
optional
booleanTrue/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.trackCheckoutStarted({
    "storeName": "Affirm Store",
    "coupon": "SUMMER2018",
    "currency": "USD",
    "discount": 0,
    "revenue": 2920,
    "shipping": 534,
    "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"
}]);

trackCheckoutStepViewed (Integer, Order, Optional[Strict])

An event triggered when the customer views a distinct checkout step that is part of the checkout process.

Parameters

ParameterData typeDescription
step requiredintegerAn incrementing number representing the current step in the checkout process.
order requiredobjectThe order associated with this checkout.
strict
optional
booleanTrue/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.trackCheckoutStepViewed(1, {
    "storeName": "Affirm Store",
    "coupon": "SUMMER2018",
    "currency": "USD",
    "discount": 0,
    "revenue": 2920,
    "shipping": 534,
    "tax": 285,
    "orderId": "T12345",
    "total": 3739
});

trackCheckoutStepCompleted (Integer, Order, Optional[Strict])

An event triggered when the customer completes a distinct checkout step that is part of the checkout process.

Parameters

ParameterData typeDescription
step requiredintegerAn incrementing number representing the current step in the checkout process.
order requiredobjectThe order associated with this checkout.
strict
optional
booleanTrue/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.trackCheckoutStepCompleted(1, {
    "storeName": "Affirm Store",
    "coupon": "SUMMER2018",
    "currency": "USD",
    "discount": 0,
    "revenue": 2920,
    "shipping": 534,
    "shippingMethod": "Fedex",
    "tax": 285,
    "orderId": "T12345",
    "total": 3739
});

trackCheckoutPaymentOrdered (Integer, Order, Optional[Strict])

An event triggered when the customer completes a distinct checkout step that is part of the checkout process.

Parameters

ParameterData typeDescription
step requiredintegerAn incrementing number representing the current step in the checkout process.
order requiredobjectThe order associated with this checkout.
strict
optional
booleanTrue/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.

Objects

Order 

Represents a single customer's checkout transaction. This includes parameters related to the transaction once the customer completes their checkout.

ParameterDescription
storeName
optional
string
Maximum length: 500
Protocol parameter: osn
The name of the store responsible for this transaction. (e.g., Affirm Store).
checkoutId
optional
string
Maximum length: 500
Protocol parameter: oci
A unique identifier representing the checkout, if it is conceptually distinct from an order. Otherwise only the orderId is necessary.
couponCode
optional
string
Maximum length: 500
Protocol parameter: occ
The coupon code applied to the order (e.g., SUMMER2018).
currency
optional
string
Maximum length: 500
Protocol parameter: occ
The local currency for all transaction currency values. Value should be a valid subset of ISO 4217 currency code.
discount
optional
integer
Protocol parameter: od
The total discount associated with the transaction. The value must be non-negative and represented in minor units, such as cents instead of dollars.
orderID
optional
string
Maximum length: 500
Protocol parameter: ooi
A unique identifier representing the order/transaction.
paymentMethod
optional
string
Maximum length: 150
Protocol parameter: opm
The payment method chosen by the customer for the transaction (e.g., Visa).
revenue
optional
integer
Protocol parameter: or
Revenue associated with transaction, excluding shipping, total tax and discounts. The value must be non-negative and represented as cents instead of dollars.
shipping
optional
integer
Protocol parameter: os
The shipping cost associated with the transaction.
shippingMethod
optional
string
Maximum length: 150
Protocol parameter: osm
The shipping method chosen by the customer for the transaction (e.g., Fedex).
tax
optional
integer
Protocol parameter: otx
The total tax associated with the transaction. The value must be non-negative and represented as cents instead of dollars.
total
optional
integer
Protocol parameter: ot
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.

ParameterDescription
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
currency code associated with this product (USD).