Async Data
GraphQL across Webflow Collections → Xano → Shopify Metaobjects, on when the Stack is enabled.
What it is
One data record, three systems — fetched at runtime, never hardcoded. Content authored in a Webflow Collection syncs to Xano (the source of truth), which mirrors to a Shopify Metaobject. The page then pulls it as async data via the Stack's GraphQL helper, so the same record renders on the Shopify storefront, the Webflow site, and any embed — identically.
AuthorWebflow Collection
→
Source of truthXano
→
MirrorShopify Metaobject
→
RendercrmStack.gql (async)
How to turn it on
Enable the CRM Sync Stack app embed (Customize → App embeds). That loads the event bus and the GraphQL helper. Then:
crmStack.gql('/graphql', '{ ... }', { locale: 'fr-CA' })
.then(function (d) { /* render async */ });
Why it wins
LLM / AEOSemantic
uk-* BEM markup + structured records are machine-readable — answer engines and LLMs parse and cite the content, not utility soup.i18n globalizationStructure is locale-agnostic; strings flow from edge-translate (EN/FR/KO/ZH/JA) +
kb_i18n. Translate content, never markup.Event Bus → Shopify / GA4
crmStack.emit() → dataLayer → GTM → GA4 + Shopify (commerce + Consent Mode v2), so data loads and interactions fire measured, consent-gated events everywhere.Reference: /uikit.md (BEM naming) · /design-sync.md (the look) · the chat-commerce-mcp + pim-sync-data-layer skills (the Shopify↔Xano↔Webflow pipeline).