cart Add to cart
A product in a size was added to the cart.
When to send it
Merchant tag fmttag or the Shopify pixel, on add to cart.
- Sent only after the shopper gave analytics consent; dropped, never queued, before it.
- Kept 25 months.
- Send tracking_id when you have it: without one the event is kept but marked untracked.
Required fields
| Field | Type | Rules | Description |
|---|---|---|---|
client_id |
integer |
greater than 0 | |
event |
"cart" |
||
timestamp_ms |
integer |
||
product_id |
string |
1–255 characters | |
size |
string | null |
1–64 characters; may be null |
Optional fields
| Field | Type | Rules | Description |
|---|---|---|---|
tracking_id |
string |
a UUID | |
event_id |
string |
1–255 characters | |
schema_version |
1 |
||
user_agent |
string |
at most 2048 characters | |
shop_country |
string | null |
at most 8 characters; may be null | |
channel |
string | null |
at most 64 characters; may be null | |
instance_id |
string |
1–255 characters | |
brand_id |
integer | null |
greater than 0; may be null | |
product_associated |
boolean |
||
ab_data |
object |
||
testEvent |
true |
||
extra |
object |
||
variant_id |
string |
1–64 characters | |
quantity |
integer |
greater than 0 | |
price |
number |
0 or more | |
currency |
string |
3 capital letters (ISO 4217) | |
platform_product_id |
string |
1–255 characters |
Example
Test values only. This example passes the event's schema.
{
"event": "cart",
"client_id": 1000,
"tracking_id": "3f0b8c2e-4d5a-4b6c-8d7e-9f0a1b2c3d4e",
"timestamp_ms": 1792000000000,
"product_id": "TEST-JACKET-01",
"size": "M",
"quantity": 1,
"price": 59.9,
"currency": "EUR"
}
Checks and messages
What Tracking debug in your back office checks for this event, with its exact message. An error means the event is not counted; a warning means it is counted but something is likely wrong; an info is a hint.
| Level | Check | Message |
|---|---|---|
| error | body_data |
the field: body data is not allowed here, the value was dropped (D110) |
| error | invalid_field |
what is wrong with the field |
| error | over_limit |
the field is over the limit of <limit> |
| error | product_id_missing |
missing product_id |
| warning | currency_not_iso |
the field "<value>" is not an ISO 4217 currency code (3 letters, such as EUR) |
| warning | price_text |
the field was sent as text: send a number (stored as <value>) |
| warning | product_unknown |
product not found in your catalogue or has no size chart |
| warning | size_not_in_product |
size "<value>" is not one of the product's sizes |
| warning | timestamp_missing |
timestamp_ms is missing or not a time in milliseconds: the time the event was received is used |
| warning | timestamp_out_of_range |
timestamp_ms is more than 30 days old or more than 3 days ahead: the time the event was received is used |
| warning | untracked |
untracked: no tracking_id. The event is kept but cannot be joined to the widget visitor. |
| info | size_lower_case |
size "<value>" was sent in lower case. Use uppercase letters or numbers. |
JSON schema
The schema the API checks this event against: cart.schema.json.