EventBridge vs Webhooks Guarantees

1 0 0

Hi everyone.

At our company, we are planning to migrate from a webhook based system to a EventBridge based system for handling Shopify webhooks.

At our scale we struggle to trust on Shopify webhooks for three main reasons:

  • Missing Webhooks
  • Duplicated Webhooks
  • Unordered Webhooks

Those 3 main problems lead us to make complicated queuing, batching and reconciliations systems. Recieving a burst of Webhooks is not a big problem for us right now. 

We are excited about implementing EventBridge on our stack. But, I can't find guarantee differences in documentation. Do EventBridge provides more guarantees to help us solve those problems?

Reply 1 (1)

Shopify Staff (Retired)
9 0 4

Hi David - glad to hear you're considering migrating to Eventbridge! In general, we've seen that apps migrating over to Eventbridge experience a sizable lift in webhook delivery rates over standard HTTP delivery. However, if you don't experience any problems with receiving large volumes of webhooks right now, you might not see as large of an improvement. 

With regards to your concerns, we are planning on investing in webhook reliability early next year, particularly around the problem space of missing webhooks. Do you notice any patterns to your missing webhooks? Are they more prevalent in specific topics, or is it fairly scattered across the board? How do you detect missing webhooks? 

With regards to duplicate webhooks, has this been more of a problem more recently? We've made a few changes to our debouncing logic in the past few months that have reduced their efficiency and caused more duplicate webhooks to be sent out - future improvements here are on our radar, but haven't been prioritized yet. We will be introducing IDs into webhook payloads soon, which will allow you to at least differentiate between an original webhook vs one that's being retried. 

To answer your question more concretely, moving to Eventbridge wouldn't provide any guarantees that any of these problems will get better, but we do recommend that people adopt it to rule out potential points for delivery failures. Would you be open to a chat? We'd love to hear more about your current set-up and pain points. 

To learn more visit the Shopify Help Center or the Community Blog.