Home/Features/Shopify 3-layer sync
Distribution

Shopify 3-layer sync

Real-time webhooks, hourly incremental polling, and a daily Bulk Operations reconcile — three layers, catalogues of any size.

Join early access
How it works

FeedGraph registers Shopify webhooks for instant product updates, runs hourly incremental polling to catch anything webhooks missed, and performs a daily Bulk Operations reconcile that catches deletions and gaps. All three run together, so no single failure loses a change. FeedGraph is the source of truth: local edits flow back out to Shopify automatically every two minutes, and FeedGraph wins any conflict.

Join early access →
The problem

Shopify sync sounds like a solved problem until it fails quietly. Webhooks get dropped, so a price change never arrives. A polling-only integration cannot see deletions, so products that no longer exist keep being advertised. And a full re-import every hour is impossible once a catalogue is large.

Each of those failures looks the same from the outside: your ads show something your store does not.

How it works

01

Layer one — webhooks, for immediacy

FeedGraph registers Shopify product webhooks, so an edit in your store arrives in seconds. Registration is idempotent and re-runs on a schedule, so real-time sync heals itself if a webhook is ever lost.

02

Layer two — hourly incremental polling, for the gaps

Every hour, FeedGraph asks Shopify for everything changed since it last looked. Cost scales with how much changed, not with catalogue size, so this stays cheap on a catalogue of any size — and it catches anything the webhooks missed.

03

Layer three — a daily Bulk Operations reconcile

Once a day FeedGraph pulls the full catalogue through Shopify Bulk Operations and compares it. This is the layer that catches deletions and any drift the other two cannot see, because it compares the whole picture rather than a change list.

04

And changes flow back out

FeedGraph is the source of truth, so local edits are pushed to Shopify automatically every two minutes. Inbound sync stamps its own writes, so a change that came from Shopify never gets pushed back as though it were a local edit.

What you get

  • All three layers running together, so no single failure loses a change
  • Deletions detected, not just creates and updates
  • Outbound push to Shopify every two minutes, with FeedGraph winning any conflict
  • Bulk Operations for the first import, so a large catalogue does not take days
  • A Sync Center showing every mismatch between FeedGraph, your store and your ad platforms
What it does not do
  • It syncs products and inventory only. FeedGraph does not read orders or customers, and does not touch themes, discounts or storefront content.
  • Creating brand-new local products in Shopify is not automatic. That stays an explicit action, so a catalogue of unrelated or demo products can never be mass-created in your store by accident.
  • It is one store per workspace. Running several stores means a workspace each, which we provision with you.

Questions

Why three layers instead of just webhooks?

Because webhooks are best-effort. Shopify does not guarantee delivery, and a dropped one means a change you never hear about. Hourly incremental polling closes that gap cheaply, and the daily full reconcile is the only thing that reliably catches deletions. Each layer covers a failure the others cannot.

If I change a product in FeedGraph, does Shopify change?

Yes, automatically, within about two minutes. FeedGraph is the source of truth by design. If the same field changed on both sides, FeedGraph wins — and the change history records it either way.

How large a catalogue can it handle?

Shopify Bulk Operations is built for full-catalogue reads, so the initial import and daily reconcile work at 100,000 products and beyond. What varies by plan is the active-product ceiling: 2,500 on Starter, 25,000 on Growth, unlimited on Pro.

Ready to try it?

FeedGraph is in early access. Apply to join and we'll onboard you personally — no credit card required.

Join early access