Order confirmation page
Definition
The order confirmation page is the page where the user is taken right after completing a purchase.
Parameters
event-type
event-type
Value: trackTransaction
Description: Indicates to the API that this is an order confirmation event.
Required: Yes
page-id
page-id
Description: An identifier that tells Criteo which placements (if any) to return for the ad request. Placements are instantiated by your Technical Account Manager depending on your desired ad configuration. Below are the standard page-ids for this page type:
- In Americas: Typically follows the structure
[event-type]_API_[environment]
, e.g.,trackTransaction_API_desktop
,trackTransaction_API_mobile
,trackTransaction_API_iOS
,trackTransaction_API_android
. - In EMEA: Typically follows the structure
[event-type]Api[environment]
, e.g.,trackTransactionApiDesktop
,trackTransactionApiMobile
,trackTransactionApiAios
,trackTransactionApiAa
.
Required: Yes
item
item
Description: The list of SKUs ordered. Must match the parameter ID in the feed. Multiple items should be separated by a pipe |
or %7C
(URL encoded). Include all items in the order, regardless of whether they are sponsored or not.
Examples:
123|456|789
123%7C456%7C789
Required: Yes
price
price
Description: The list of prices in the same order as the items. Prices should be separated by a pipe |
or %7C
(URL encoded). These need to be the unitary prices (price of an individual item). Criteo will multiply these prices by the quantity
parameter to compute the total order value.
Examples:
29.99|15.49|9.99
29.99%7C15.49%7C9.99
Required: Yes
quantity
quantity
Description: The pipe-separated quantities of each SKU within the user’s order.
Examples:
4|1|2
4%7C1%7C2
Required: Yes
transaction-id
transaction-id
Description: The unique order ID of the purchase.
Example: 1841xva0ha8
Required: Yes
currency
currency
Description: Currency code of the transaction. Only needed if the purchase can be done in different currencies; otherwise, it will fall back to the retailer's standard currency. Should be a valid ISO 4217 3-letter currency code.
Examples::
USD
EUR
Required: Mandatory only if multiple currencies are allowed
Sample calls
The header values in the sample calls are illustrative. Make sure to replace them with the appropriate values for your implementation.
AMER
curl -X GET "https://d.us.criteo.com/delivery/retailmedia" \
--data-urlencode "criteo-partner-id=12345" \
--data-urlencode "environment=d" \
--data-urlencode "retailer-visitor-id=a1b2c3d4e5" \
--data-urlencode "customer-id=123456789" \
--data-urlencode "page-id=trackTransaction_API_desktop" \
--data-urlencode "event-type=trackTransaction" \
--data-urlencode "transaction-id=1841xva0ha8" \
--data-urlencode "item=123|456|789" \
--data-urlencode "price=29.99|15.49|9.99" \
--data-urlencode "quantity=4|1|2" \
--data-urlencode "currency=USD" \
-H "Referer: https://www.criteo.com" \
-H "X-Forwarded-For: 123.456.789.012" \
-H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
EMEA
curl -X GET "https://d.eu.criteo.com/delivery/retailmedia" \
--data-urlencode "criteo-partner-id=12345" \
--data-urlencode "environment=d" \
--data-urlencode "retailer-visitor-id=a1b2c3d4e5" \
--data-urlencode "customer-id=123456789" \
--data-urlencode "page-id=trackTransactionApiAios" \
--data-urlencode "event-type=trackTransaction" \
--data-urlencode "transaction-id=1841xva0ha8" \
--data-urlencode "item=123|456|789" \
--data-urlencode "price=29.99|15.49|9.99" \
--data-urlencode "quantity=4|1|2" \
--data-urlencode "currency=EUR" \
-H "Referer: https://www.criteo.com" \
-H "X-Forwarded-For: 123.456.789.012" \
-H "User-Agent: app_ios 1.2.3"
Order cancellations/modifications
To ensure accurate tracking, trackTransaction
calls must be re-fired under the following scenarios:
Cancellations
- When an order is canceled, initiate a new
trackTransaction
call using the sametransaction-id
as the original order. - The API call should include all products from the original order, keeping the original prices but setting the quantity to
0
.
Modifications
- When a user modifies their order (e.g., changes the quantity or adds/removes products), a new
trackTransaction
call must be triggered with the sametransaction-id
as the original order. - The following product details must be managed within the new call:
- Unchanged products: Include these products in the new API call with their original quantity and price.
- Modified products: Include these products with updated quantities and/or prices.
- New products: Add these products to the API call with their respective prices/quantities.
- Deleted products: Include these products in the new API call with their quantities set to
0
Updated 16 days ago