Skip to content
memberarea memberarea.io

Reading the Shopify webhook log

Read every delivery your shop sent, understand what your MemberArea did with it, and run a failed one again.

In this article

When something happens in your shop, Shopify sends a message about it to your MemberArea. Each of those messages is a delivery, and every delivery is recorded with its result, whether it worked or not. The webhook log is where you look when a buyer says their course is missing, or when you want to know what a refund or a product change actually did.

Open the log

Open your Shopify page at /admin/settings/integrations/shopify, or open Settings, then Integrations, then Add Integration and Shopify. Then choose the Webhook log tab. The log stays readable while the shop is disconnected, so you can still look back at what arrived before.

Until the first delivery comes in, the tab says "No webhooks received yet. Place a test order in your shop to check the connection." A test order is the quickest way to see the first row.

What a row shows

The list has no column headings. Each delivery is one row:

Where What it shows
Top line The topic, which names what happened in the shop.
Line below A short note on what your MemberArea did with the delivery. If it failed, the error stands there instead.
Under the note The date and time the delivery was received.
Badge on the right The result: Processed, Ignored, Not processed yet, Retrying or Failed.
Button next to it Process again, only on rows that can be run again.
The Webhook log lists deliveries with the results Processed, Ignored, Retrying and Failed, each with its note and time.
The Webhook log lists deliveries with the results Processed, Ignored, Retrying and Failed, each with its note and time.

Click a row to open its details. They list whatever the delivery carried out of Order number, Email address, Total, Currency and Shopify ID, always the number of Attempts, and the full error if there was one. Click the row again to close it.

The topics you will see are orders/paid, orders/cancelled, refunds/create, customers/create, customers/update, customers/delete, products/update, products/delete and app/uninstalled. Shopify's three privacy topics customers/data_request, customers/redact and shop/redact land here too.

The five results

Processed means your MemberArea did the work. For a paid order the note reads like "Order SHP-1042 imported, 1 mapped item(s)." and the buyer has the mapped access. A paid order for a product nobody mapped is processed as well: the note reads "Order SHP-1042 imported, no mapped item." The order exists, counts in your revenue, and the buyer becomes a member without any access. This also covers physical goods you sell next to your courses.

Ignored means the delivery was understood and there was nothing to do. The note says why, for example "This product is not mapped." for a product change no mapping points at, or "This update is the echo of our own push." after you pushed a product into Shopify yourself.

Not processed yet means the delivery arrived and is waiting its turn. A row should not stay like this for more than a few seconds. If many rows sit at Not processed yet, something on our side has stalled. Write to support@memberarea.io.

Retrying means the delivery went wrong and is about to be tried again on its own. The note line carries the error of the last try.

Failed means something went wrong and the automatic tries are used up. The note line carries the error, and the row offers Process again.

Failed deliveries are tried again on their own

A delivery that fails is tried again automatically a few times, with a pause between tries. While those tries are still running, the row shows Retrying, and Attempts in the details goes up with each try. Only when the last try fails does the row switch to Failed. A row at Failed needs you: fix the cause, then run it again. The webhook log in the app inside your Shopify admin shows the same states in English, "Retrying" until the tries are used up and "Failed" after that.

Run a delivery again

Press Process again on the row. The button is only there for a delivery that failed, is retrying or has not been processed yet. A row that counts as processed or ignored carries none. The row goes back to Not processed yet and is then worked through with the data Shopify originally sent, so running it again after you fixed the cause does the full work, not a stripped-down version of it.

An expanded failed refund delivery shows its error, the number of attempts and the button Process again.
An expanded failed refund delivery shows its error, the number of attempts and the button Process again.
Note

Nothing is acted on twice. If Shopify sends the same delivery again, it does not get a second row. A paid order that arrives twice still becomes one order and unlocks the access once, and a refund that arrives twice is booked once. Pressing Process again never doubles an order, an access or a refund.

Filter and page through the log

The buttons above the list narrow it to Processed, Ignored or Failed, and All brings everything back. Failed lists only the deliveries whose automatic tries are used up. Rows at Not processed yet and Retrying only show under All. Refresh reloads the page you are on, so you can watch a new delivery come in.

Twenty-five deliveries fit on a page, newest first. Older deliveries are on the next pages, which you reach below the list.

When a customer reports a missing course, filter to Failed first, then to Ignored, then look at their orders/paid row under Processed. Between those three you will almost always find the answer.

Notes you will actually see

Note What it means and what to do
"Order SHP-1042 imported, no mapped item." The order is here, but its product unlocks nothing. Map the product so the next buyers get access, see Linking a Shopify product to a course.
"This product is not mapped." A product changed in the shop that no mapping points at. Nothing to do unless you meant to map it.
"This update is the echo of our own push." Shopify reported back a change your MemberArea made. Nothing to do.
"This delivery carried no order id or the order was already imported." Either the delivery had no order id, or the order is already here. Nothing to do.
"Refund recorded, the refunded items were not mapped." The refund is booked, but it was for products that were never mapped, so there was no access to take back.
"The order for this refund has not been imported yet, trying again shortly." The refund arrived before its order. It is tried again on its own, and the row shows Retrying meanwhile. If it ends at Failed, press Process again once the order's row shows Processed.

What refunds and cancellations do to access, the order and commissions is in Refunds and cancellations in Shopify.

Only real deliveries from Shopify

Every delivery has to carry a valid Shopify signature. A message without one is turned away and never appears in the log. A delivery that Shopify triggered more than seven days ago is not taken in either. If a row you expect is missing altogether, check that the shop is connected, see Connecting your Shopify shop.

Privacy requests from Shopify

Shopify passes on privacy requests from your shop's customers, and each one shows up as a row.

When a customer asks Shopify to delete their data, a customers/redact delivery arrives. Your MemberArea removes the link to that Shopify customer and the stored deliveries about them. The member, the contact and their orders stay: they belong to your workspace, and the customer may have bought from you elsewhere too. The note reads like "Removed 1 link and 4 stored deliveries for Shopify customer 7012345678. The member itself belongs to the workspace and stays." If you also want the person gone from your MemberArea, delete the member or the contact yourself.

When a customer asks for their data, a customers/data_request delivery arrives and the owners of your workspace get an email and a notification titled "A Shopify customer asked for their data". Shopify expects your answer within 30 days, and your MemberArea does not send the data for you. What else happens around privacy and uninstalling is in Disconnecting Shopify and deleting shop data.

What is kept

Every delivery is stored with the data Shopify sent, so running one again does the full work. That data is about your customers, so it is stored encrypted. Deliveries are deleted 90 days after they arrived.

Last updated on October 25, 2026

Was this article helpful?

Related articles