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. |

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.

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.