Short answer
Webhooks push change notifications as they happen, giving low latency and efficient API use, but delivery can fail, repeat, or arrive out of order depending on the platform. Polling asks for changes on a schedule, giving predictable completeness at the cost of latency and API usage. For business-critical ecommerce-ERP flows, the most reliable design typically uses both — webhooks for speed and checkpointed polling for completeness.
Every integration must answer a basic question: how do we find out that something changed? There are two answers — be told (webhooks) or ask (polling). This comparison is platform-neutral; for a Shopify-specific implementation of the combined approach, see Shopify webhooks vs. polling for ERP integrations.
How each works
Webhooks: the source system sends an HTTP request to your endpoint when an event occurs. Your endpoint verifies and stores the event, and your integration processes it.
Polling: your integration periodically queries the source system for records changed since the last check, typically using a modification timestamp, sequence number, or change log.
Comparison table
| Dimension | Webhooks | Polling |
|---|---|---|
| Latency | Seconds | Up to one interval |
| Completeness | Depends on platform delivery guarantees and your receiver’s uptime | Complete for the window queried, given correct checkpoint logic |
| API usage | Low; one fetch per change if needed | Constant; scales with frequency |
| Infrastructure | Public endpoint (or managed event bus), signature verification | Scheduler only |
| Ordering | Often not guaranteed | Controlled by your query sort order |
| Duplicates | Possible | Possible with overlapping windows |
| Behavior during your outage | Platform retries for a limited period; may disable the subscription | Next run catches up |
| Behavior during source outage | No events sent | Polls fail; retry next interval |
| Payload content | Varies: full resource or only an ID | Whatever you query |
What platforms document about webhook delivery
Delivery semantics differ, and they matter:
- Shopify documents a five-second response limit, up to eight retries over four hours, subscription removal after persistent failures, no ordering guarantee, and recommends reconciliation jobs.
- WooCommerce documents that a webhook is disabled after five consecutive failed deliveries.
- BigCommerce documents lightweight payloads, occasional duplicates, domain-level blocklisting when the success ratio drops, and retries for a little over 48 hours.
- Adobe Commerce offers Adobe I/O Events for asynchronous events and a separate webhooks module for synchronous calls.
In every case, webhooks are a best-effort fast path that your design must back up.
When webhooks alone can be enough
- The data is low-stakes (for example, analytics or marketing tags) and occasional gaps are acceptable.
- The source offers durable delivery to a managed queue or event bus with long retention and replay.
- A human process already reconciles the data.
When polling alone can be enough
- The source has no webhooks.
- The target processes in batches anyway (an ERP that imports orders hourly).
- You want to avoid exposing a public endpoint.
- Volume is low and rate limits are generous.
When to combine them
For order export, inventory, and fulfillment — flows where a missed event costs money — combine both:
- Webhooks trigger fast processing.
- A scheduled poll queries changes since a checkpoint and enqueues anything not yet processed.
- Both paths feed one idempotent queue.
- Workers fetch current state before writing, so ordering and duplicates do not matter.
This hybrid gives near-real-time behavior in normal conditions and guaranteed catch-up after failures.
Design tips for each approach
Webhooks
- Verify signatures or authentication headers before any processing.
- Store first, respond quickly, process asynchronously.
- Deduplicate by delivery ID and process idempotently.
- Monitor subscription health and delivery failures.
Polling
- Query by modification time with an overlap window.
- Advance the checkpoint only after the batch succeeds.
- Request only identifiers in the poll; fetch details in workers.
- Respect rate limits and schedule heavy polls off-peak.
Summary
Webhooks win on latency and efficiency; polling wins on predictability and simplicity. Their failure modes are complementary, which is why the most dependable ecommerce–ERP integrations use webhooks for speed and polling for completeness, feeding a single idempotent pipeline.
Frequently asked questions
Are webhooks more reliable than polling?
Not inherently. Webhooks are faster, but delivery guarantees vary by platform, and documented behaviors include retries, duplicates, and subscriptions being disabled after repeated failures. Polling is slower but, with correct checkpoint logic, finds every change in the window it queries.
Is polling always more expensive?
It uses more API requests, which matters under rate limits. A narrow query for records updated since a checkpoint, run every few minutes, is usually affordable. Polling full datasets at high frequency is not.
Can webhooks replace a message queue?
No. Webhooks are a delivery mechanism into your system. You still need durable storage or a queue to decouple receipt from processing.
What if the source system has no webhooks?
Polling is then the only option. Make it efficient by querying on a modification timestamp or change log, and design processing to be idempotent.
Sources and further reading
Platform-specific statements on this page were checked against these sources on . Vendor APIs change; confirm details in the current documentation before you build.
- [1] Shopify webhook best practices — Shopify
- [2] WooCommerce REST API — webhooks — WooCommerce
- [3] BigCommerce webhooks overview — BigCommerce
- [4] Adobe I/O Events for Adobe Commerce — Adobe
Related reading
- Guides Shopify Webhooks vs. Polling for ERP Integrations When to use Shopify webhooks, when to poll the GraphQL Admin API, and how to implement the hybrid pattern Shopify itself recommends for ERP integrations.
- Concepts What Are Webhooks? What webhooks are, how they deliver change notifications between systems, how to verify them, and the delivery behaviors integrations must be designed around.
- Concepts What Is Scheduled Synchronization? How scheduled, batch-based synchronization works in integrations, how to design checkpoints and windows, and where it fits alongside event-driven updates.
- Comparisons Real-Time vs. Scheduled Synchronization When ecommerce-ERP data should sync in real time and when a schedule is better — compared by workflow, cost, complexity, rate limits, and failure behavior.
- Guides How to Handle Shopify Webhooks Reliably Build a Shopify webhook receiver that never loses events — HMAC verification, the five-second rule, deduplication, ordering, retries, and subscription removal.