# Verify customer emails from Shopify with Spaw

Verify new Shopify customers after creation through Zapier or Make and tag them by verdict. Why checkout is out of reach and there is no Shopify app.

Updated: 2026-09-03

Two things are worth saying plainly before the steps. The Spaw form helper is a script for pages you control, and Shopify checkout is not one of them: checkout does not load storefront scripts, so the helper cannot check the email field there. And Spaw does not offer a Shopify app. What works is verifying customers after Shopify has created them, through a Zap or a Make scenario, and tagging them so your email tool and your staff know which addresses are real. Order confirmations still go out the moment the order is placed; the verdict protects everything that comes after.

## Verify new customers

1. Create a secret API key on the API keys page of your Spaw dashboard.
2. In Zapier or Make, start with the Shopify trigger for a new customer. A new-order trigger works too if you only care about buyers rather than account sign-ups.
3. Add the verification step: a Webhooks by Zapier POST or a Make HTTP request to `https://spaw.co/api/v1/email` with the header `Authorization: Bearer sk_live_…` and this body, mapping the customer's email:

```json
{
  "email": "mia@acme.com"
}
```

The [Zapier page](/integrations/zapier) and the [Make page](/integrations/make) show the step field by field. When the Spaw apps for those platforms are listed, it becomes a Verify Email action with a saved connection.

4. Add the Shopify action that updates a customer and set tags from `data.deliverable`, for example `email-deliverable`, `email-risky` or `email-undeliverable`. A customer note can carry `data.reason` and `data.did_you_mean` for staff.
5. Test by creating a customer with `deliverable@spaw.test`, a free test address that answers a fixed result and never appears in your history.

If your marketing runs on Klaviyo, the [Klaviyo page](/integrations/klaviyo) puts the verdict on the profile instead, where segments and flows can use it directly.

## Clean the existing customer list

Export customers to CSV, run the email column through a bulk verification on the Spaw dashboard or with the [bulk endpoint](/docs/api/create-bulk-job), and import the result back with the verdict column turned into tags. The result CSV keeps your original columns. Undeliverable rows also join your Spaw suppression list, so future runs answer them without a probe.

## Marketing consent and the storefront

Shopify's newsletter sign-up forms on the storefront are theme pages, and the form helper can watch those inputs if your theme allows a script tag; the same applies to a contact page. Checkout is the exception. Customers who mistype at checkout are best caught by the tag flow above and a follow-up through another channel, such as SMS or a phone call, with the corrected address.

## What to do with the verdict

Use the tags in customer segments. `email-deliverable` customers get the full marketing program. For `email-risky`, read the reason: [`catch_all`](/docs/reasons/catch_all) means a business domain that accepts every address and the mailbox is unconfirmed, `role` means a shared inbox, `disposable` means a throwaway address that will not survive to the next campaign. Exclude `email-undeliverable` customers from marketing sends rather than deleting the record, because the order history matters and `data.did_you_mean` often names the address the customer meant.

## Cost

Each new customer that answers deliverable or risky spends 1 credit; undeliverable answers and repeats within seven days are free. Zapier and Make bill their own tasks. Bulk runs bill per processed row and verify duplicates once.

Reference: https://spaw.co/integrations/shopify
