Event schemas
One page per event of the FitMyType event catalogue, generated from the JSON schemas the API checks events against. Each page shows when the event is sent, its required and optional fields, an example, and the checks that Tracking debug in your back office makes, with the same messages.
Every event needs a tracking_id
Send a non-null tracking_id with every event: the visitor id that the widget and the tag keep in
fmt_device_id. It joins the events of one visitor. An event without it is rejected, except carts and
orders: those are kept but marked untracked, and they cannot be joined to the visitor's size answer.
What POST /events answers
Send one event, a JSON array of events or {"events": [...]} (at most 50 per call) to
POST /events. Once the call is safely queued it answers 202 with
{received, accepted, rejected}:
received: the events in the call.accepted: the events taken into the queue.-
rejected: the events refused at the door, each with itsindexin the call and anerror(not_an_object,missing_event,unknown_event,missing_client_id,event_id_conflict,duplicate_event_id).
{
"received": 3,
"accepted": 2,
"rejected": [
{
"index": 2,
"error": "unknown_event"
}
]
}
A rejected event is not stored and not counted: fix it and send it again. An accepted event that fails a field check later is stored as invalid: it is never counted in your dashboards, and Tracking debug shows it with the reason, using the messages listed on each event's page.
Events
| Event | What it means | Sent by |
|---|---|---|
product |
A product page with the size widget was shown to a shopper. | Widget SDK, once per widget when it is created (or when analytics consent arrives later). |
widget_click |
The shopper clicked the size widget's button. | Widget SDK, on each click of the widget button. |
tooltip_viewed |
The shopper saw the widget's tooltip (an info text or the last recommended size). | Widget SDK, when the tooltip shows. |
usual_size_add_to_cart |
The shopper added the size found with the usual-size path to the cart. | Widget SDK, on add to cart after a usual-size answer. |
plugin_open |
The size finder panel opened. | Shopper app, once each time the panel opens. |
reco |
A size answer was shown to the shopper: the status, the sizes and the answers' summary, never a body measurement. | Shopper app, after each size answer shown (T07.09.10). |
auto_reco |
A size answer computed from the shopper's saved answers on a later product page. | Shopper app, when a saved profile answers on a new product (S06.07). |
plugin_end |
The shopper left the size finder: chose a size or went back to shopping. | Shopper app, when the shopper chooses a size or closes the result. |
user_survey |
The shopper rated the recommendation (1 to 4) and may have left a short comment. | Shopper app, when the survey is sent. |
usual_size_step_completed |
The shopper finished one step (1, 2 or 3) of the usual-size path. | Shopper app, after each usual-size step. |
usual_size_reco_requested |
The shopper asked for a size from their usual size in another brand. | Shopper app, when the usual-size answer is requested. |
usual_size_reco_result |
The usual-size answer: the size and how far it moved from the usual size. | Shopper app, when the usual-size answer arrives. |
body_view_opened |
The fit was first shown on the 3D body for one result. | Shopper app, once per result when the fit first shows on the 3D body (D90). |
reco_displayed |
The result screen showed a size answer. | Shopper app, once per result shown (T07.09.01). |
size_validated |
The shopper chose a size on the result screen, the same as, larger or smaller than the recommendation. | Shopper app, when the shopper confirms a size. |
survey_dismissed |
The shopper closed the survey without answering. | Shopper app, when the survey is closed unanswered. |
physical_info_displayed |
The step with the body questions (age, height, weight) was shown. | Shopper app, when the step shows (D87). |
physical_info_submitted |
The shopper answered the body questions; only the unit system is sent, never the answers. | Shopper app, when the step is continued (D87). |
body_shape_submitted |
The shopper chose a body shape, and how many shapes they looked at. | Shopper app, when the body shape step is continued (T07.06.03). |
bra_displayed |
The bra size step was shown. | Shopper app, when the step shows (S07.05). |
bra_submitted |
The shopper gave a bra size; only the size system's region is sent, never the band or the cup. | Shopper app, when the step is continued. |
bra_skipped |
The shopper skipped the bra size step. | Shopper app, on skip. |
references_displayed |
The reference brands step was shown. | Shopper app, when the step shows (S07.07). |
references_submitted |
The shopper gave reference brands; only how many is sent (the brands go in the reco event). | Shopper app, when the step is continued with references. |
references_skipped |
The shopper skipped the reference brands step. | Shopper app, on skip. |
measure_offer_displayed |
The result offered to measure one body measurement for a more exact size. | Shopper app, when the offer card shows (D97, D101). |
measure_offer_opened |
The shopper opened the measuring guide of the offer. | Shopper app, when the guide opens. |
measure_offer_used |
A measurement the shopper typed changed the size answer; the value is never sent. | Shopper app, when the typed value changes the answer. |
body_config_saved |
The shopper saved a body on this device; only the number of saved bodies is sent. | Shopper app, after a save (S14.11). |
body_config_loaded |
The shopper picked one of their saved bodies. | Shopper app, when a saved body is loaded. |
body_config_deleted |
The shopper deleted a saved body from this device. | Shopper app, after a delete. |
cross_sell_tab_opened |
The shopper opened a tab of the suggestions on the result screen (latest releases, you might like, people like you, bought together). | Shopper app, once each time a suggestions tab is opened (S07.12). |
cross_sell_clicked |
The shopper clicked a suggested product: the tab, the product, its place in the list and the size shown on its card. | Shopper app, when a suggestion card is clicked, before the product page opens (S07.12). |
cart |
A product in a size was added to the cart. | Merchant tag `fmttag` or the Shopify pixel, on add to cart. |
transaction_end |
An order was placed: its lines, sizes and total. | Merchant tag `fmttag` on the order page, or the Shopify pixel's `checkout`. |
bracketing_start |
A cart holds two or more sizes of the same product. | Our server, from the cart analysis (S08.06). |
return |
An ordered item was returned, with the return's reason code. | Our server, from the shop's returns (S08.06). |
__debug__ |
A heartbeat or debug message from an integration script. | Integration scripts, through `/debug` or `sendDebugEvent`. |