ACE (Agentic Commerce Engine)
Using ACE

Schema Markup on Your Live Site

Output enhanced JSON-LD on your Shopify storefront using the app embed or a manual Liquid snippet.

When you push schema markup to Shopify, it is saved as a product metafield. Your storefront must output that metafield in the page so search engines can see the enhanced JSON-LD.

Install the Agentic Commerce Engine app and enable the Product JSON-LD app embed in the theme editor (Online Store, Themes, Customize, App embeds). It injects seo.json_ld into the <head> on the product template only. App embeds work on vintage themes and Online Store 2.0. There are no extra settings for this embed in the theme editor.

Open the Schema screen in the app to see all of the ACE storefront blocks and their status, each with an Enable in theme editor deep link. Alongside Product JSON-LD, ACE also offers the IRL scenario card, Internal links, and ACP feed discovery blocks. Use Re-check theme after you enable and save an embed to refresh its status.

The deep link targets your current live theme. To use a draft theme, open it first (Online Store, Themes, then Customize on the theme you want), then go to App embeds.

  1. Open App embeds in the theme editor.
  2. Turn Product JSON-LD on for Agentic Commerce Engine, then save. Turn it off in the same place to stop JSON-LD output from this app.
  3. Preview a product page and confirm structured data before publishing.

Why don't I see the enhanced schema on my product page? The app stores enhanced schema in the product metafield seo.json_ld. Until the app embed is enabled (or you add the manual snippet below), Shopify will not surface that JSON-LD on the storefront.

Manual Liquid snippet (advanced)

If you prefer not to use the app embed, add the following where the product object is available (for example, in layout/theme.liquid inside <head>, scoped to product templates). This version falls back to Shopify's default {{ product | structured_data }} when the metafield is empty.

Do not use this snippet together with the app embed if both would output Product JSON-LD. You would duplicate schema.

{% comment %}
  Enhanced schema from ACE (metafield seo.json_ld).
  Add in theme layout <head> or product template, only if NOT using the ACE app embed.
{% endcomment %}
{% if template.name == 'product' %}
  {% if product.metafields.seo.json_ld.value != blank %}
    <script type="application/ld+json">
      {{ product.metafields.seo.json_ld.value }}
    </script>
  {% else %}
    <script type="application/ld+json">
      {{ product | structured_data }}
    </script>
  {% endif %}
{% endif %}

In Online Store 2.0 themes, you can add this in the theme layout file (for example, layout/theme.liquid) inside the <head> tag. Save and preview before publishing.

Verify it's working

  • Open a product page, view page source (for example, right-click, then View Page Source), and search for application/ld+json. You should see a script block with your enhanced schema.
  • Use Google's Rich Results Test or Schema Markup Validator with your product URL to confirm the structured data is detected.

On this page