Updated April 27, 2026Documentation Index
Fetch the complete documentation index at: https://docs.crescendo.ai/llms.txt
Use this file to discover all available pages before exploring further.
Sales Attribution
It is important to correlate Chat Assistant conversations with shopping cart activity and orders. This guide uses Shopify Flow and order tags as the primary attribution path. Shopify’s native UTM reports rely on the storefront analytics pixel, which is routinely blocked by ad blockers, privacy extensions, browser tracking prevention (Safari ITP, Firefox ETP, Brave), and shoppers who decline the cookie banner — so assistant-attributed orders can drop out of those reports. UTM reports also attribute by browser session, so an order placed in a later session or after the shopper shared the cart link can lose its source. After the widget writes Crescendo attribution to the Shopify cart, Shopify carries that note to the order and Flow converts it into a visible order tag. This avoids relying on Shopify’s analytics pixel, but still requires the widget and cart update to run before checkout — see Known limitations. Three steps enable a standard Shopify report showing how many orders were created after a customer talked to the Chat Assistant:- install Chat Assistant Widget
- create Shopify Flow to convert order notes to tags
- add a filter to a standard Shopify report
Install Chat Assistant Widget
Add the Crescendo AI Assistant to your storefront as described here: Enable AI Assistant on your Shopify Store.Create Shopify Flow to convert order notes to tags
The Chat Assistant Widget attaches attribution to the cart after a shopper starts a conversation. It can also mark the cart when assistant links includeutm_source=crescendo.
When the widget receives the c7o:bot:conversationStart event, it calls updateCartTags(). That function updates the Shopify cart through /cart/update.js with note crescendo and cart attributes such as:
| Attribute | Description |
|---|---|
bot_conversation_id | Conversation ID, when available |
bot_source | Attribution source, usually crescendo |
bot_timestamp | Time the cart attribution was written |
bot_initiated | Time the conversation-start event was handled |
- Add the Shopify Flow app in Shopify Admin if it is not already installed.
- Create a new workflow.
- Use Order created as the trigger.
- Add a condition: Order note includes
crescendo. - On the True path, add Add order tags with tag
crescendo. - Turn on the workflow.
crescendo condition, and the Add order tags action.

Add a filter to a standard Shopify Report
- Open a standard Analytics report, such as Orders fulfilled by day or Orders over time.
- Add a filter: Order tags contains
crescendo. - Save the report if you want to reuse it.
Verify attribution
Before relying on the report, place a test order. The widget must be installed, the cart must exist or be resolvable before checkout, and the cart must be marked by a conversation start or by a link withutm_source=crescendo.
- Start a new assistant conversation, or click an assistant-provided product/cart/checkout link that includes
utm_source=crescendo. - Add a product to the cart and place a test order.
- Open the order in Shopify Admin and confirm the order note contains
crescendoor the order additional details include Crescendo attribution attributes. - Confirm the Shopify Flow run succeeded.
- Confirm the order has the
crescendotag and appears in the filtered report.
Reporting beyond the basic filter
Thecrescendo order tag can be used for more than the Orders fulfilled by day report:
- Revenue attributed to the assistant: filter sales reports by Order tags contains
crescendo. - Conversion comparison: compare tagged orders with total storefront orders for the same date range.
- Product or collection performance: filter product sales reports by the
crescendotag. - Orders by conversation intent: combine Shopify tagged orders with Crescendo conversation reporting outside Shopify.
Known limitations
- Attribution starts only after the widget loads and marks the session.
- Link-click cart attribution requires assistant links to include
utm_source=crescendo. - Anonymous shoppers do not provide customer identity context.
- If a shopper checks out before a cart exists or before the cart update completes, the order may not be tagged.
- Browser storage or script blockers can prevent attribution from persisting across pages.
- Custom storefronts or custom cart flows must still allow Shopify cart updates before checkout.

