Hello,
My company is doing a presale event where we are only allowing customers who have signed up for our email list to make purchases at this time.
What would be the most efficient way to give access to our email list while restricting other buyers? Can I send a separate product page only accessible via email and send that out to our list?
Please let me know how I could accomplish this.
Thank you!
Tag all the customers in shopify for the campaign, create a cart permalink and send it through email , check orders for that tag or lack of tag.
https://help.shopify.com/en/manual/products/details/cart-permalink
Beyond that plenty of existing topics on this for “membership” sites, “content gating” etc etc
Either through theme customizations or with apps , or a 2nd store.
For theme customizations see common wholesale customizations that just use a tag or metafield on the customer.
You can contact me directly by email in my signature for customization services or setup.
For apps see locksmith, there’s also token gating ala NFT’s.
https://apps.shopify.com/locksmith
https://help.shopify.com/en/manual/products/digital-service-product/nfts#tokengated-commerce
Keep in mind these are mainly frontend fixes to raise the barrier of entry most of which can be bypassed due to the shopify ajax api since there is no backend validation of product-based authorization that is a separate process you would need to figure out if it’s critical only certain people can make a purchase or receive an item.
If you’re on Shopify Plus, you can create a custom app that uses Cart/Checkout Validation API Functions to automatically block checkout based on specific conditions.
Because this code runs on Shopify’s servers, it’s foolproof.
I recommend assigning a specific tag to all customers who have signed up for your email list, and then reading input.cart.buyerIdentity.customer?.hasAnyTag().
Alternatively, you can store your entire email list in metafields on the discount node itself, and then check to see if input.cart.buyerIdentity.customer?.email is in that list.
The option using customer tags is far more scalable, though.
https://shopify.dev/docs/api/functions/reference/product-discounts/graphql/common-objects/buyeridentity
Best,
Tobe