Skip to content

Content Merge

The Content Merge block combines your GitHub repository code with your target Shopify theme customizations. This prevents overwriting changes made directly in the Shopify admin (theme editor, content, settings).

  1. Fetches target theme from Shopify (current state with all admin changes)
  2. Fetches your code from GitHub
  3. Merges intelligently:
    • .liquid files: GitHub version wins (your code)
    • settings_data.json: Merges changes (preserves admin settings)
    • *.json templates: GitHub version wins
    • Assets: GitHub version wins
  4. Outputs merged result ready for deployment
Setting Description Example
Store handle Your store’s myshopify.com domain mystore.myshopify.com
Theme ID Source theme to merge from 123456789
  1. In Shopify Admin, go to Online Store → Themes
  2. Click “…” on the theme you want to use
  3. Click “Edit code”
  4. The theme ID is in the URL: .../themes/123456789/...

Content Merge typically goes between Checkout and Deploy:

Terminal window
Checkout Content Merge Deploy

Or with a backup first:

Terminal window
Checkout Backup Content Merge Deploy

Comparison: Content Merge vs Direct Deploy

Section titled “Comparison: Content Merge vs Direct Deploy”
Scenario With Content Merge Direct Deploy
Admin changed banner text ✅ Preserved ❌ Overwritten
Developer updated header.liquid ✅ Applied ✅ Applied
New section added in admin ✅ Preserved ❌ Overwritten
Clean slate deployment ⚠️ Extra step ✅ Faster
  • Cannot merge binary assets (images, fonts) — these are replaced
  • Large themes (>100MB) may timeout during merge

“Content merge failed”

  • Verify theme ID is correct and the theme exists
  • Check store credentials are valid (reconnect if needed)

“Settings conflict detected”

  • This is a warning, not an error
  • The merge continues with the prefer-github strategy
  • Review your settings_data.json after deploy

Available on all plans (Free, Starter, Growth, Scale).