Skip to main content

issued_product

An order-level product was bought (parking, merchandise, a drink voucher): one per product line, with its revenue.

Products bundled in a ticket count towards that ticket's revenue instead and get no activity of their own. The buyer's email is the identifier.

Sent withplatform keys (see write keys)
Modestrict: exactly the declared fields; an undeclared key, a wrong type or a missing required key quarantines the event
Version1 (_schema_version on the stored row)
Stateactive
Required fieldsorder_id
Revenueyes, positive; the revenue block is required to mean something and never accepted from a browser key
Identity evidencenone
Before consentno

Fields​

The activity's own fields, sent as features. Identifier and attribute fields are moved out of features by the processor; see identifiers and attributes.

FieldTypeRequiredWhat happens to itMeaning
event_idstringno, may be nullstays in featuresThe Eventix event the activity is about. Copied to the stream's _event_id column, so filters on an event are fast; it must be a plain string.
order_idstringyesstays in featuresThe order in the ticketing system, as its own id. The same value on every activity derived from one order, so they can be joined.
order_product_idstringno, may be nullstays in featuresThe product line within the order.
product_idstringno, may be nullstays in featuresThe product (merchandise, a drink, a parking place) as the ticketing system knows it.
product_namestringno, may be nullstays in featuresThe product's name at the time of sale.
touchobjectno, may be nullstays in featuresThe campaign the activity came through; see the touch block. The same block on every revenue-bearing activity.

Example​

One activity in a batch to POST /v1/activities, with debug so the answer says what the processor made of it. The envelope page explains every top-level field.

{
"batch": [
{
"activity_id": "0192f1a4-0ff9-70b5-8000-0ff90b5b0000",
"activity": "issued_product",
"ts": "2026-10-17T20:00:00+02:00",
"owner_ref": "own:own_01M4XX0033FV7QXDRB5BQBRPGR",
"identifiers": [
{
"type": "email",
"value": "ana@example.com",
"role": "buyer"
}
],
"revenue": {
"amount": "45.00",
"currency": "EUR"
},
"features": {
"event_id": "3a114ef5-6105-48fd-aafc-0ae609d0536c",
"order_id": "1f2d3c4b-0000-4000-8000-000000000001",
"order_product_id": "7b1a2c3d-0000-4000-8000-000000000003",
"product_id": "prd_01M4XVBYC3FGXCPFRZEPGV20RZ",
"product_name": "Parking",
"touch": {
"captured_by": "touch.captured by",
"click_ids": {},
"landing_url": "touch.landing url",
"referrer": "touch.referrer",
"utm": {
"campaign": "touch.utm.campaign",
"content": "touch.utm.content",
"medium": "touch.utm.medium",
"source": "touch.utm.source",
"term": "touch.utm.term"
}
}
}
}
],
"debug": true
}

Try it​

Sends this request from your browser. The key and the endpoint are kept in this browser only.

Versions​

VersionModeKey classesChange
1 (current)strictplatformfirst version

A published version never changes; a change is a new version, and every stored row says which version it was checked against.