ActessiaBook a 30-day pilot
Documentation

track() and the conversion webhook

A conversion signal from the page or from your server, deduplicated on your own event id, attributed to recommendations with a holdout.

Recommendation attribution needs to know when someone converts. There are two ways to tell us; use either or both; the same purchase reported twice with the same event_id counts once.

From the page

Actessia.track({ event: "upgrade", event_id: "inv_8841", value_cents: 4900, currency: "EUR", product_external_id: "plan_studio" });

event is purchase, signup, upgrade, or custom (with a name such as seat_added). event_id is your order or invoice id; without one we hash the event. Optional: value_cents, currency, product_external_id (the catalog id the event concerns), properties (flat), occurred_at. The call is fire-and-forget and survives navigation.

From your server

For teams that will not fire client-side events. Authenticate with a server key (ak_secret_…, scope track, minted on the dashboard's Install page):

POST https://api.actessia.ai/v1/webhooks/conversions
Authorization: Bearer ak_secret_…
Content-Type: application/json

{ "user_id": "cust_1001", "event": { "event": "upgrade", "event_id": "inv_8841", "value_cents": 4900, "currency": "EUR", "product_external_id": "plan_studio" } }

At least one of user_id (your id for the user), visitor_id or session_id must be present; the response is 202. The event is attributed exactly like the client-side one.

What attribution means

Three measures, all on the dashboard: click-through (the visitor clicked a recommendation and converted within 7 days), assisted (the product was surfaced in a conversation and the user converted within 30 days), and the holdout: 5 % of eligible sessions receive no recommendations, and their conversion is compared with the rest. The holdout number is the only one that survives a sceptical reading, so the headline lift stays hidden until it is significant, with the confidence interval next to it.