# Basket tracking

Track the visitor's observed basket so operators can help with its contents and completed purchases can retain item detail.

*Release 3.3 · developer, operator, visitor*

## What it is

Basket tracking records the items and quantities your website reports for a visitor. Operators can use this observed basket to help during a conversation. A completion report can carry those items into INSIDE's tracked purchase history.

## Who uses it and why

- Developers send basket observations and completed-purchase details from the website.
- Operators use basket context when discussing products or checkout problems.
- Visitors receive help based on the basket their website has reported.

## Where to find it

Basket information is part of the visitor context available while assisting a visitor. It comes from the website integration rather than a basket editor in **Settings**. Its visibility and detail depend on the information the website tracks.

## How it works

1. The website reports a basket identifier, items, quantities and money values for the visitor.
2. A snapshot replaces quantities with the reported values. An incremental update adds the reported quantity changes to existing quantities.
3. INSIDE groups matching SKUs and updates the observed basket. A quantity reduced to zero removes the corresponding item.
4. The website reports completion when the shopper purchases. INSIDE processes the purchase and its item detail.

Incomplete baskets are saved with the visitor. When a completion contains no items, INSIDE can recover items from the saved basket if the totals match. Changed-line completion processing clears the saved basket data; normal sale handling also clears abandoned-basket state.

Tracking observes the store basket. It does not itself add a product to the actual store basket.

## Configure it

Have your developer connect basket updates to the visitor integration. Choose snapshot or incremental semantics consistently, use stable basket and product identifiers, and report completion only for a completed purchase.

Supply product names, SKUs, quantities, prices and currency, plus images, links and categories when available. Preserve the website, subsite and visitor context. The integration can replace a temporary basket identifier with the merchant's final order identifier.

## Limits and good to know

- Empty identifiers and the identifier zero are rejected. Automatic identifier generation is supported where configured by the integration.
- Unchanged observations can be skipped. An explicit completion or replacement identifier is treated as a change.
- Repeated incremental updates can change quantities again. Do not assume that replaying a quantity change is harmless.
- Multiple lines with the same SKU are aggregated. Distinct products should use distinct, stable SKUs.
- Missing completion items can be recovered only when a suitable saved basket exists and the totals match. Sending complete item detail is more reliable.
- No-cookie tracking has a separate path. It does not follow the normal live visitor sales-processing path.

## Depends on and works with

### This feature uses

- **Requires** [Visitor identity](VIS-001.md): Basket observations belong to a website and visitor identity.
- **Configured in** [Purchase currencies and conversion](COM-023.md): Tracking preserves original money alongside website currency values.
- **Configured in** [Cookie consent and opting out](VIS-018.md): No-cookie tracking follows a different path from normal persisted sales processing.
- **Works better with** [Purchase tracking and sales totals](COM-020.md): Completion can turn tracked basket contents into purchased-item detail.
- **Works better with** [Visitor and conversation information panels](CON-017.md): Operators use visitor context to inspect tracked basket information.
- **Works better with** [Visitor event rules and actions](ENG-001.md): Visitor events can act on observed basket state.

### Used by

- **Enhances** [Visitor data mapping for targeting](VIS-007.md): Tracked order data provides order-context values for mappings.
- **Enhances** [Visitor search and filters](VIS-013.md): Current basket information supports minimum basket filtering and basket sorting.
- **Enhances** [Floor search and filters](CON-007.md): Basket information supplies the Has A Basket filter.
- **Enhances** [Floor avatar indicators](CON-010.md): Basket tracking supplies held-item and basket signals.
- **Enhances** [Avatar animation and reaction settings](CON-012.md): Adding items to a tracked basket can trigger avatar reactions.
- **Enhances** [Visitor and conversation information panels](CON-017.md): Basket tracking supplies the current basket panel.
- **Enhances** [Operator notifications and alerts](CON-018.md): Basket updates can generate activity bubbles.
- **Enhances** [Stats Bar and My Stats](CON-024.md): Basket tracking supplies live basket counts and values.
- **Enhances** [Monitor mode](CON-025.md): Tracked baskets supply basket information.
- **Enhances** [Visitor event targeting conditions](ENG-002.md): Basket contents and value supply commerce conditions.
- **Enhances** [Purchase tracking and sales totals](COM-020.md): Saved basket observations can supply omitted purchase lines when the completion total matches.
- **Enhances** [Purchase currencies and conversion](COM-023.md): Tracked basket amounts retain original money and website-currency values.

## FAQ and troubleshooting

### Why does the observed basket differ from the store basket?

INSIDE reflects the latest observations received. Check that every relevant addition, removal and quantity change reaches the integration with the correct visitor and basket identity.

### Why did a quantity double?

An incremental update adds a change to the existing quantity. Sending an absolute quantity as a change, or replaying that change, can increase it again.

### Why does a completed purchase have no item detail?

The completion may have omitted items and there may be no saved basket with a matching total. Supply the completed purchase lines explicitly.

### Does tracking a basket prove Add to cart succeeded?

No. A basket observation and a confirmed storefront addition are separate events. Check the action result and the actual store basket.
