Shopify compare button missing: turn the app embed on, enable the table, check visibility. Then auto-inject under the price or the Compare button block.
2026-10-30

Shopify compare button missing on the product page

The comparison table exists. Rows for weight, price, material. On the PDP: no “Add to compare”, no tray. Collection cards are quiet too. Shopify compare button missing is usually placement, not a broken structure: embed off, table disabled, visibility skipping the SKU, or neither auto-inject nor the Compare block.

OO - Advanced Table Builder (docs may still say Tables, Specs & Comparisons) is Free. 5.0 from 1 review. Size charts, specs, comparison, tabbed, Us vs Them. CTA stays that listing.

Table groups and modules was structure. This is the control that fills the tray.

Three layers the docs actually name

App embed. Enable the app embed: powers shortcodes, the comparison tray/modal runtime, automatic Compare under the price, and size-chart placement above Add to cart when no Size chart block exists. Theme blocks alone are not enough for tray, Compare auto-inject, size-chart auto-placement, or shortcodes.

Path: Online Store → Themes → Customize on the live theme → Theme settings → App embeds → Tables, Specs & Comparisons → Save.

Enabled + visibility. Enable, visibility, and products: disabled tables never render, block or not. Comparison visibility: All products or Selected products only. Selected rules apply on product pages. If your test SKU is not in the set, there is no button — correctly.

A placement for the button. Comparison placement options and Auto-placement rules:

  • Auto-inject under price when the Compare button theme block is unused — embed injects Add to compare under the price.

  • Or add the Compare button block in the theme editor on the product template.

  • Optional Show on product cards on collection/product grids where supported.

Place tables with theme blocks: Compare button is optional manual placement. Customize → template → Add block → Apps.

Comparison table: embed required for tray/modal. Block or auto-inject for the button. Design can style Add to compare button appearance once the node exists.

Mix-ups

Expecting a Specs block to spawn compare. Specs has no Add-to-cart auto-inject. Different block.

Compare block in the editor, embed off. Tray dead on the storefront.

Auto-inject off and no block. Nowhere to inject. Turn one on.

Selected products only, test product omitted. Button “missing”.

Product cards on a custom snippet that does not support the inject. Fix the PDP first.

Walkthrough: three chairs, no button

Comparison table “Chairs”, live Shopify modules plus a custom seat height. Enabled. Visibility: three SKUs. Dawn plus a custom product card.

PDP of chair A: nothing under the price.

Order:

  1. Live theme, embed on, Save.

  2. Table Enabled.

  3. Chair A is in Selected (or All for the test).

  4. That comparison’s Settings: Auto-inject under price, *or* Compare button block on Default product, Save.

  5. Hard refresh. Click the button. Tray (embed). Second product, modal.

  6. Only then Show on product cards, on a collection that can take the inject.

Shortcode `[oo-table id=…]` still needs the embed. It is not a substitute for Add to compare on every PDP.

An AI draft of the table will not place the button. That is Settings + theme.

Button without tray, tray without button

Two failures shops lump together:

Button renders, click does nothing. Embed off, or you are inside the theme editor without the embed runtime. Docs: tray and modal come from the embed. Enable, Save, hard-refresh on the live storefront.

Tray in the editor, no button on the live PDP. Auto-inject off, and the Compare block is missing on that template (Default product has it, `product.chair.json` does not). Blocks are per template. Duplicate templates mean add the block again, or rely on auto-inject under the price via the embed.

Tabbed and Us vs Them pick a specific table id in their block. Comparison on the PDP is visibility plus button placement. A Us vs Them block will not print Add to compare.

Size-chart auto-placement above Add to cart (when no Size chart block exists) only proves the embed is alive. It is not the compare control. Specs even less so.

Listing comparison tools (highlight differences, show/hide, multi-product) fill the modal. Without the button, shoppers never get there. Button appearance in Design only matters once the node exists. If theme CSS sets `display:none`, inspect the theme before blaming the app.

Excel/Sheets import (listing “Works with”) does not place a theme block. After import: Enabled, visibility, placement — same three layers.

If you already use auto-placement for size charts, do not assume comparison piggybacks on that inject. Size charts can appear above Add to cart without a block; comparison only auto-injects under the price when that setting is on for that comparison table. Two independent switches. A storefront with a size popup and no compare button is a valid, if confusing, state.

Translations of customer-facing strings live in Settings. A missing button is rarely a missing translation; an empty “Add to compare” label would still leave a node. Fix the node, then the string.

Next

Embed. Enabled. Visibility. Auto-inject or block. Test a product that is in the set, on the live template. Advanced Table Builder is Free.

Wrap-up

Shopify compare button missing is almost always embed, enabled, visibility, or no inject point. Tray and modal come from the embed. The button comes from auto-inject or the Compare block. Specs is another block.

Get the button on the PDP, then polish rows. Put comparison on the storefront and click it like a shopper, not only in the admin preview.

online origins logo full

The Shopify Select partner for ambitious e-commerce businesses that want to grow!

linkedin online origins iconinstagram online origins icon

Reviews

5/5

Check on Google

Mail: info@onlineorigins.nl

Tel: 073 234 0612

KVK: 89825624

BTW: NL865123639B01

Bruistensingel 500,
5232 AH 's-Hertogenbosch
Cookies

© 2026 Online Origins