Processing rules (E-Commerce)
Some E-Commerce properties are subject to new processing rules:
If the transaction_id property is empty, then we automatically assign the value of the cart_id property within the transaction_id property.
If we do not detect a transaction_id property within the SalesTracker order confirmation event (st.transaction.confirmation). Then we keep the previous transaction_id value present within the SalesTracker pending cart event (cart.awaiting_payment).
Some parameters can be overloaded within the SalesTracker order confirmation event (st.transaction.confirmation):
- transaction_id: string
- cart_turnovertaxincluded: decimal
- cart_turnovertaxfree: decimal
- payment_mode: string
- transaction_status: string
If two SalesTracker events are received from a shopping cart awaiting payment (st.cart.awaiting_payment), we will only store and process the first received value, all duplicate events will be excluded.
When a SalesTracker order confirmation event (st.transaction.confirmation) is sent 5min before a SalesTracker shopping cart event awaiting payment (st.cart.awaiting_payment) then the order confirmation event (st.transaction.confirmation) received will initially be excluded. When a basket event awaiting payment (st.cart.awating_payment) is received, we automatically generate an order confirmation event (st.transaction.confirmation) using the associated product information (st.product.purchased).
Product category (product_category1, product_category2...)
In Analytics Suite spaces are replaced by underscores, in Piano Analytics the received value is retained without being modified.
Product discount? (product_discount)
In Analytics Suite this information was only available on product purchase confirmation events (st.product.purchased). In Piano Analytics, this information can be retrieved from the order confirmation and product purchased information.
Product price (incl. VAT) (product_pricetaxincluded)
In Analytics Suite, a rule updates the product price retroactively in the basket when values change between basket display events (tp=gap) or transaction events. We therefore always keep the last value received. In Piano Analytics, the received value is kept unchanged and without being retroactive.
In Analytics Suite, only orders placed on a page declared as the primary objective could be tracked. In Piano Analytics, it is not necessary for the page to be declared as a target for orders to be tracked.
Order indicators were only taken into account on order confirmation events. Now, this data is taken into account on events other than order confirmations.
Shelves of the page (page_aisle1, page_aisle2, page_aisle3...)
In Analytics Suite, if we received an identifier that exceeded the allowed limit, no aisle would go up. In Piano Analytics, the identifier is no longer used for the aisles.