Quick answer
KitForge attributes revenue when order line items include private _kitforge_* properties added by widgets at add-to-cart time. Manual cart builds or checkout-only discounts may not attribute.
- Attributed revenue requires widget-initiated add-to-cart.
- Inspect order line properties to debug mismatches.
- Widget-only discounts explain checkout price differences for manual adds.
- Added revenue is directional, not a guaranteed uplift metric.
Verify attribution on a test order
Complete a purchase using the widget's add-to-cart button. In Shopify admin order details, inspect line item properties for _kitforge_ prefixes.
If properties are missing, the customer path bypassed the widget — common with direct /cart links or buy-now from non-widget buttons.
When revenue legitimately won't attribute
Same SKU added from collection pages, reorder flows, or POS will not carry widget properties. That is expected — analytics measure widget-driven purchases.
Final recommendation
Align shopper path with widget interaction before expecting analytics revenue. Attribution is a feature of how items enter the cart, not automatic for all bundle SKUs.
If you want this kind of offer to feel native to the buying journey, Kitforge Bundles is built around that exact problem: turning related Shopify products into clearer bundle offers before the shopper reaches checkout.
FAQ
Can I attribute all bundle SKU sales?
Not automatically. KitForge attributes widget-path purchases. For full-catalog attribution you would need separate reporting outside widget properties.