2 min read

Events

Last Updated - Platform v25

User

We do not track the user with Firebase.

Events

All poq events are forwarded to Firebase. Some events are renamed or transformed to Firebase specific constants that are understood and handled specially by the Firebase console.

Parameters written as ... are sent as the defaults for the poq event without modification. Events without ... and no parameters are sent with no parameters.

Parameters

All events have their parameters renamed to Firebase specific parameter names. The below table shows the mappings. Some values are the same but are technically renamed to use the Firebase specific parameter constants from the Firebase SDK.

Poq NamesFirebase Name
currencycurrency
deliveryshipping
itemsitems
methodmethod
priceprice
productIditem_id
productTitleitem_name
quantityquantity
querysearch_term
taxtax
totalvalue
transactionIdtransaction_id

Some parameters are renamed specifically for certain events. The above list does not include these; instead they are documented per event below.

Account

The signUp event is renamed to track as the Firebase specific event.

sign_up:
...

The login event is technically renamed to track as the Firebase specific event, but there is no change.

Cart

The viewCart event is renamed to track as the Firebase specific event.

view_item:
items:
- item_id: sku # Replaces 'sku' instead of 'productId'
item_name: product_name # Replaces 'productTitle'
...
- ...
value: total # Replaces 'total'
...

The addToBag event and some of its parameters are renamed to track as the Firebase specific event.

add_to_cart:
item_id: product_id # Replaces 'productId'
item_name: product_name # Replaces 'productTitle'
value: total # Replaces 'total'
...

The removeFromBag event is renamed to track as the Firebase specific event.

remove_from_cart:
item_id: product_id # Replaces 'productId'
item_name: product_name # Replaces 'productTitle'
value: total # Replaces 'total'
...

Catalogue

The viewPlp event and one of its parameters are renamed to track as the Firebase specific event.

view_item_list:
item_category: category_id # Replaces 'categoryId'
...

The viewSearchResults event and one of its parameters are renamed to track as the Firebase specific event.

view_search_results:
search_term: search_query # Replaces 'query'
...

The viewPdp event and some of its parameters are renamed to track as the Firebase specific event.

view_item:
item_id: product_id # Replaces 'productId'
item_name: product_name # Replaces 'productTitle'
...

The share event is reworked to track as the Firebase specific event.

share:
content_type: product # Adds hardcoded parameter
item_id: product_id # Replaces 'productId'
item_name: product_name # Replaces 'productTitle'
...

Checkout

The beginCheckout event and some of its parameters are renamed to track as the Firebase specific event.

begin_checkout:
items:
- item_id: sku # Replaces 'sku' instead of 'productId'
item_name: product_name # Replaces 'productTitle'
...
- ...
value: total # Replaces 'total'
...

The checkoutUrlChange event is transformed to work around the Firebase event parameter limits. The URL is split into max 10 chunks of max 100 characters each. This is useful as an analytics fallback for websites with complex loading.

checkoutUrlChange:
url0: url_chunk_one # https://some...?id=29
url1: url_chunk_two # 9323&total=1...
url...: url_chunk_...
url9: url_chunk_ten
...

The order event and some of its parameters are renamed to track as the Firebase specific event for revenue tracking.

purchase:
transaction_id: order_id # Replaces 'transactionId'
items:
- item_id: sku # Replaces 'sku' instead of 'productId'
item_name: product_name # Replaces 'productTitle'
...
- ...
shipping: subtotal_delivery # Replaces 'delivery'
value: total # Replaces 'total' and may override existing 'value'
...

Content

The onboarding event is replaced to track as the Firebase specific events. Parameters are not sent with these events.

# When the user begins onboarding.
tutorial_begin:
# When the user skips or completes onboarding.
tutorial_complete:

Wishlist

The addToWishlist event and some of its parameters are replaced to track as the Firebase specific event.

add_to_wishlist:
item_id: product_id # Replaces 'productId'
item_name: product_name # Replaces 'productTitle'
value: total # Replaces 'total'
...

Other

The screen event and parameters are renamed to track as the Firebase specific event.

By default, Firebase captures this automatically without 'screen_name'.

iOS apps likely want to disable this otherwise will receive repeated events (the automatic without a 'screen_name' then ours with a 'screen_name'). However, doing so will not be able to capture non-poq screens.

screen_view:
screen_class: screen_class # Replaces 'screenClass'
screen_name: screen_name # Replaces 'screenName'
...