Verifyre

Shopify integration

Real customers, real inboxes, on Shopify.

Abandoned-cart emails, order confirmations and newsletters all depend on the address typed at sign-up. Verifyre validates it on the storefront and confirms it server-side.

Shopify logo
Get an API key Setup guide

What it does

Verifyre and Shopify, together.

Storefront forms

One script tag in theme.liquid covers the newsletter block, the contact page and account registration: a tick for a good address, a correction for typos, a block for dead mailboxes.

Checkout and new customers

Shopify's checkout does not load theme scripts, so verify server-side from the customers/create or orders/create webhook and tag customers whose address bounced.

Clean the existing base

Export customers as CSV, verify the list in Verifyre, and re-import tags or sync through Klaviyo or Omnisend, both of which connect directly.

Setup guide

Set up Shopify in 3 steps.

You will need a Verifyre account (free, 100 credits) and an API key from Settings, then API keys.

  1. Add the widget to your theme

    In Online Store, Themes, Edit code, open layout/theme.liquid and paste the snippet before </body>. The selector covers Shopify's standard newsletter and customer email fields; add your own selectors for custom forms.

    liquid
    {% comment %} Verifyre live email validation: newsletter, contact and account forms {% endcomment %}
    <script src="https://verifyre.co/widget.js"
      data-key="vfy_live_YOUR_API_KEY"
      data-selector="input[type=email], input[name='contact[email]'], input[name='customer[email]']"
      data-block="true"
      async></script>
  2. Verify new customers at the source

    Create a webhook in Settings, Notifications for customers/create pointing at your server (or a Make or Zapier scenario), and call the API with the customer's email. Tag customers whose address cannot receive mail so marketing excludes them.

    javascript
    // Node, run on a server that receives Shopify's customers/create webhook
    app.post("/shopify/customers-create", async (req, res) => {
      const email = req.body.email;
      const r = await fetch("https://verifyre.co/api/v1/verify?email=" + encodeURIComponent(email), {
        headers: { Authorization: "Bearer " + process.env.VERIFYRE_KEY },
      }).then((x) => x.json());
      if (r.status === "undeliverable") {
        // Tag the customer in Shopify so marketing excludes them
        await shopify.customer.update(req.body.id, { tags: "verifyre-undeliverable" });
      }
      res.sendStatus(200);
    });
  3. Clean what you already have

    Export your customers (Customers, Export) and upload the CSV to Verifyre, or connect Klaviyo or Omnisend directly from Integrations and verify the synced list there. Download the cleaned file and update tags in bulk.

Write-back

What gets written back to your stack.

Verification only reads. Writing results back is a separate step you trigger after reviewing the counts, and nothing is ever deleted without your say-so.

  • On the storefront: a hidden verifyre_status input in each form and a block on undeliverable addresses when data-block is true.
  • From the webhook route: whatever you choose, typically a customer tag such as verifyre-undeliverable that segments and flows can exclude.

Shopify FAQ

Shopify questions

Visit the help centre
Can the widget run on the checkout page?
Not on standard plans: Shopify's checkout does not load theme JavaScript. Verify the order's email from the orders/create webhook instead, or use Shopify Plus checkout extensibility to call the API.
Does this work with Shopify Flow?
Yes. Flow's Send HTTP request action (Shopify Plus) can call the verify endpoint directly and branch on the response.
Will the key in theme.liquid be visible?
Yes, as with any front-end script. Use a dedicated key for the storefront and keep a separate one for the webhook server; revoke the storefront key at any time from your account.

Connect Shopify in two minutes.

100 free verifications on signup, no card. Keep them for your first sync.

Get an API key See pricing