# Assisted revenue and attribution

> How ShopAssist links orders to conversations on each platform, how each revenue line is calculated and how consent affects it.

Source: https://shopassist.coec.dk/docs/analytics/assisted-revenue-and-attribution · Updated 2026-10-01

*(Growth and up)*

ShopAssist links an order to a conversation when your store reports the order with a reference to the chat. No customer data is sent with the order: only the order number, lines, total and the conversation reference.

## How orders are linked [#linking]

| Platform    | Link                                                                                                                                                                                                                            |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Shopify     | a cart attribute set by the widget, read from the `orders/create` webhook                                                                                                                                                       |
| Magento 2   | the module stores the conversation on the quote and reports placed orders                                                                                                                                                       |
| WooCommerce | the plugin stores the conversation on the order and reports it                                                                                                                                                                  |
| PrestaShop  | the module stores the conversation on the cart; ShopAssist reads orders from the module                                                                                                                                         |
| Generic     | `ShopAssist.setCartHandler` with `linkConversation`, the `{conversation_id}` placeholder of your checkout URL template, the [order report API](/docs/api/reference/catalog/report-orders) or the widget's order-completed event |

An order is linked once. If the same order is reported twice (for example a webhook retry), the first classification is kept.

## Attribution types [#types]

An order gets the first type that applies:

1. **Items the assistant added** (`bot_add_to_cart`): at least one order line matches an item the assistant added to the cart in that conversation before the order. Only the matching share of those lines counts as assisted revenue.
2. **Assistant checkout link** (`bot_checkout_link`): the shopper clicked a checkout or cart button the assistant showed before ordering. The full order total counts.
3. **Order after a shopping chat** (`assisted_session`): the order was placed within your attribution window after a conversation in which the assistant recommended products, and the shopper allowed analytics. The full order total counts.

Order-status-only conversations never qualify as assisted sessions.

## Attribution window [#window]

Set the window under **Settings → Commerce** (default 7 days).  *(Scale and up)* lets you choose a custom window.

## Consent [#consent]

The widget links carts to conversations only as your consent settings allow. "Orders after a shopping chat" count only for shoppers who allowed analytics cookies. With **Settings → Compliance → Attribution without consent**, orders from the **same browser session** as the chat can also count; orders are never linked across sessions without consent. Check with your legal adviser before enabling it.

## What is not measured [#limitations]

Refunds, returns and cancellations are not observed and never subtracted. Test conversations and staff conversations are never attributed. When a shopper withdraws consent, later carts carry no reference.
