How does Wishlist Hero handle GDPR for wishlists?

Wishlist Hero participates in Shopify’s managed GDPR process: data requests, customer redaction, and shop redaction arrive as Shopify webhooks and are handled by the app. This reference documents each flow so custom implementations and compliance reviews know exactly what happens to wishlist data.

The three flows

Shopify webhook What the app does
customers/data_request Builds two CSVs for the shopper: their wishlist products and their wishlist actions, and emails both to the store owner
customers/redact Deletes that shopper’s wishlist and its recorded actions
shop/redact Deletes every wishlist and action for the store

You approve or reject data requests in the Shopify admin as usual; the app does the data work when Shopify forwards the topic. No manual steps exist in the app’s UI, by design.

Identity matching

Redaction and lookup match wishlists by the Shopify customer ID. Two consequences for custom builds:

  • Key your REST and SDK integrations to the real storeCustomerId  whenever a shopper is logged in, so their data is reachable for redaction
  • Guest wishlists have no customer ID. They contain no personal data beyond the items themselves, so they are out of scope for customer redaction; shop redaction removes them

Shopper email and name are stored encrypted at rest on the wishlist record, which is why lookups key on ID rather than email.

What counts as personal data here

On a wishlist record:

  • Customer email and name: stored encrypted, present only for shoppers who logged in
  • Customer ID: present for logged in shoppers
  • Guest wishlists: items only, with a browser held hash; no name, no email

Action records reference the same customer ID and the products involved.

Custom implementations checklist

If you build on the REST API or SDK:

  1. Pass the customer ID on every identified call (CreateOrGetExisting/:storeCustomerId ), so lists bind to the account rather than floating as guests
  2. Never mirror shopper emails into your own storage from wishlist data; the app does not give you any, by design
  3. Honor deletion downstream: if you cached wishlist items, drop the cache on customer redaction; the app re-syncs empty on next fetch
  4. Point compliance questions at the flows above: deletion is complete when the webhook completes, including items saved through your custom UI

Retention summary

  • No automatic expiry: wishlists persist until redaction or store deletion
  • Uninstall retains data; reinstall resumes
  • The retention surface is exactly the three webhooks above

For the shopper facing version of this story, see How wishlists persist.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us