Shopify Integration

Connect a Shopify store to sync products, push enrichments, and render JSON-LD on the storefront.

The Shopify integration connects a workspace to a Shopify store via OAuth. Two-way data flow: products sync into Lumio for scoring and enrichment, and enriched content pushes back as product metafields. A theme extension renders the metafield data as Schema.org JSON-LD on the storefront.

Connecting a store

Open Integrations in the sidebar and click Connect Shopify. Enter the *.myshopify.com domain. Lumio creates a scoped OAuth state token, redirects to Shopify for authorization, and exchanges the returned code for access tokens.

Required Shopify scopes:

  • Read access to products
  • Write access to metafields (for delivering enrichments)

Connect, sync, and push operations all require an owner or admin role in the Lumio organization.

Once connected, the store domain and connection status appear on the Integrations page.

Syncing products

After connecting, open Catalog, choose the Shopify tab, and click Sync from Shopify. Lumio fetches products from the Shopify Admin API in paginated batches. Variants, pricing, images, and metadata all come through.

The sync runs as a background job. The previous active catalog is archived (not deleted) before the sync starts. If the sync fails, the archived catalog is restored automatically. Scoring and enrichment history on archived catalogs is preserved.

Scoring and enriching

Score and enrich Shopify-sourced products the same way as sitemap-sourced products. From Scores, run scoring to identify gaps. From Enrichment, generate optimized content shaped by the brand profile and voice rules.

Delivering enrichments

After enrichment, open Feeds and click Push to Shopify. Lumio writes enrichments to product metafields. Push progress streams over Server-Sent Events as each batch completes.

The metafield payload includes the enriched fields (title, description, Q&A, attributes) — not a complete JSON-LD blob. The theme extension merges the metafield data with live Shopify data (price, availability, variant info) at render time, so the storefront always shows current information.

Oversized payloads are skipped with a clear message rather than failing the whole push. A feed record captures the results: succeeded, failed, skipped counts.

Pushing requires the delivery feature, included on Professional and Elite plans.

Validating the storefront

After a push, click Validate on a product to confirm everything’s rendering correctly. Lumio fetches the live product page and reports:

  • How many JSON-LD blocks are present
  • Whether Product type is detected
  • Which enriched fields are visible
  • Whether duplicate Product blocks exist (a common storefront issue)

Theme extension

The Lumio theme extension is what renders the metafield data as JSON-LD on the storefront. Install it from the Lumio app’s installation flow inside Shopify, then enable it in the Shopify theme editor’s app embeds. Without the extension installed and enabled, the metafields exist on products but never reach the page.

GDPR webhooks

Lumio implements Shopify’s mandatory GDPR webhooks (customers/redact, shop/redact, customers/data_request) with HMAC-SHA256 signature verification. No additional setup needed — webhooks are registered automatically during the OAuth flow.

Disconnecting

In Integrations, click Disconnect. Access tokens are revoked and the integration is marked as inactive. Existing metafields stay on products until removed manually in Shopify admin.

Requirements

  • A *.myshopify.com domain
  • Owner or admin role in the Lumio organization for connect, sync, and push
  • The delivery feature (Professional plan and above) for Push to Shopify
  • The Lumio theme extension installed and enabled in the Shopify theme for JSON-LD to appear on the storefront