Why AI agents care
Agents do not magically know your fulfilment posture. When structured delivery signals are missing, assistants guess from sparse PDP copy or third-party anecdotes. Stores that expose countries served, carrier mix and realistic transit bands give models verifiable anchors — the same class of factual hygiene as GTINs and Offer JSON-LD.
How OptAEO pulls Shopify data
On each catalogue sync OptAEO walks Shopify Admin GraphQL deliveryProfiles, aligns active methods to destination countries per product variant, then materialises rows in product_shipping_profile. Carrier labels come from Shopify DeliveryParticipant.carrierService definitions; merchant-rate placeholders never masquerade as carrier brands in your dashboard copy.
How the scoring factor works
The shipping-readiness slice asks whether we can see plausible coverage across your shippable SKUs — breadth of destinations, whether free-shipping tiers exist somewhere in the matrix, transit heuristics, and identifiable carriers. It self-removes from the denominator only when every product is digital (requires_shipping = false), mirroring other factors that politely bow out when the signal does not apply.
How merchants lift the score
- Populate real delivery profiles and carrier-calculated rates in Shopify so GraphQL exposes meaningful participant rows — flat-rate placeholders alone rarely carry carrier names OptAEO can publish.
- Publish standard Product + Offer JSON-LD via OptAEO fixes so downstream engines can correlate price, availability and shipping hints without scraping HTML tables.
- Re-sync after Shipping settings change (Dashboard Sync now inside the embedded app) so aggregates stay faithful to Shopify source of truth.