Skip to main content

Integrating the data layer

Ecommerce events in your Google Tag Manager

The orderBilly platform provides a set of GA4 ecommerce compatible data layer events that can be used to set up advanced funnels and flows in analytics and advertising platforms.

Important: orderBilly provides this data layer as-is, and for legally allowed usage only.

The integrating party is responsible for the correct implementation of any applicable privacy and data laws. For example, but not limited to, consent management, data retention and the right to be forgotten.

Available tags

Currently, we support the events listed below. More events will become available in the future.

The events fall into two groups:

  • Product eventsview_item, add_to_cart and remove_from_cart — are pushed as guests browse the menu and change their basket. Each item includes an event_id that identifies the menu the product belongs to.

  • Order eventsbegin_checkout and purchase — are pushed during checkout and also carry venue_name, menu_name and checkoutmethod_name. The purchase event additionally includes a transaction_id (the order ID) inside ecommerce.

view_item

{
"event": "view_item",
"ecommerce": {
"currency": "EUR",
"value": 3.00,
"items": [
{
"item_id": "A1",
"item_name": "Sparkling water",
"product_id": "1",
"price": 3,
"quantity": 1,
"event_id": "your-menu-id",
"additions": []
}
]
}
}

add_to_cart

{
"event": "add_to_cart",
"ecommerce": {
"currency": "EUR",
"value": 3.00,
"items": [
{
"item_id": "A1",
"item_name": "Sparkling water",
"product_id": "1",
"price": 3,
"quantity": 1,
"event_id": "your-menu-id",
"additions": [
{
"id": 1,
"name": "Extras",
"values": [
{
"id": 1,
"plu": null,
"name": "Slice of lemon",
"amount": 1,
"price": 0
}
]
}
]
}
]
}
}

remove_from_cart

{
"event": "remove_from_cart",
"ecommerce": {
"currency": "EUR",
"value": 3.00,
"items": [
{
"item_id": "A1",
"item_name": "Sparkling water",
"product_id": "1",
"price": 3,
"quantity": 1,
"event_id": "your-menu-id",
"additions": [
{
"id": 1,
"name": "Extras",
"values": [
{
"id": 1,
"plu": null,
"name": "Slice of lemon",
"amount": 1,
"price": 0
}
]
}
]
}
]
}
}

begin_checkout

{
"event": "begin_checkout",
"ecommerce": {
"currency": "EUR",
"value": 3.00,
"items": [
{
"item_id": "A1",
"item_name": "Sparkling water",
"product_id": "1",
"price": 3,
"quantity": 1,
"additions": [
{
"id": 1,
"gks_id": "1",
"name": "Extras",
"values": [
{
"id": 1,
"plu": null,
"name": "Slice of lemon",
"amount": 1,
"price": 0,
"price_int": 0
}
]
}
]
}
]
},
"venue_name": "Your venue name",
"menu_name": "Your menu name",
"checkoutmethod_name": "table_service"
}

purchase

{
"event": "purchase",
"ecommerce": {
"currency": "EUR",
"value": 3.00,
"items": [
{
"item_id": "A1",
"item_name": "Sparkling water",
"product_id": "1",
"price": 3,
"quantity": 1,
"additions": [
{
"id": 1,
"gks_id": "1",
"name": "Extras",
"values": [
{
"id": 1,
"plu": null,
"name": "Slice of lemon",
"amount": 1,
"price": 0,
"price_int": 0
}
]
}
]
}
],
"transaction_id": "1234"
},
"venue_name": "Your venue name",
"menu_name": "Your menu name",
"checkoutmethod_name": "table_service"
}
Did this answer your question?