MailOdds
Shopify

Shopify + MailOdds

Validate customer emails at registration and checkout. Catch disposable addresses, reduce bounces, and improve email campaign deliverability.

Setup time: 5-10 min
Difficulty: Beginner
1,000 free validations included

Prerequisites

  • MailOdds account with API key
  • Shopify store
  • Zapier or Make account

E-commerce Use Cases

New Customer Validation

Validate emails when customers create accounts. Tag verified vs unverified for segmentation.

Disposable Email Detection

Block discount abuse by detecting temporary/disposable email addresses at checkout.

Abandoned Cart Cleanup

Only send recovery emails to verified addresses. Reduce bounces and protect sender reputation.

Email Campaign Hygiene

Bulk validate your customer list before major campaigns. Remove invalid addresses to improve deliverability.

Zapier: Validate Shopify Customer

JAVASCRIPT
// Zapier Code Step - Validate Shopify Customer Email
const response = await fetch('https://api.mailodds.com/v1/validate', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    email: inputData.email // Mapped from Shopify customer email
  })
});

const result = await response.json();

return {
  email: result.email,
  status: result.status,
  action: result.action,
  is_valid: result.action === 'accept',
  is_disposable: result.disposable || false
};

Zapier: Tag Customer by Email Quality

JAVASCRIPT
// Zapier: Tag Shopify Customer Based on Validation
// After the validation Code step, add:
//
// Action: Shopify - Update Customer
// Customer ID: {{trigger.customer_id}}
// Tags: {{code_step.is_valid ? "verified-email" : "unverified-email"}}
//
// Use tags to segment customers for email campaigns.

Zero-Config Sending Domain Authentication

Shopify merchants sending via MailOdds get automatic email authentication. Add one NS record for mo.yourdomain.com and MailOdds manages SPF, DKIM, MX, and DMARC automatically. No ongoing DNS maintenance.

Conversion Tracking

Track email-to-purchase attribution using webhook events. When a customer clicks a link in your email, MailOdds fires a message.clicked event with the destination URL and message ID. Use this to correlate clicks with Shopify orders.

Zapier: Track Email-to-Purchase Attribution

JAVASCRIPT
// Zapier Code Step - Track Email-to-Purchase Attribution
// Trigger: MailOdds Webhook (message.clicked)
const email = inputData.to;
const messageId = inputData.message_id;
const linkUrl = inputData.link_url;

// Filter bot clicks
if (inputData.is_bot === true) {
  return { skip: true };
}

// Store click for attribution (update Shopify customer metafield)
return {
  email,
  message_id: messageId,
  clicked_url: linkUrl,
  clicked_at: inputData.timestamp
};

Email-to-Web Attribution

MailOdds appends a mid parameter to links in your emails, enabling email-to-web attribution on your Shopify store:

https://store.example.com/products/widget?mid=msg_abc123

Your Shopify storefront can capture mid from URL parameters to attribute web sessions and purchases back to specific email campaigns. Pair with the message.clicked webhook for complete funnel tracking.

Suppression Management

Automatically suppress bounced customers to protect your sender reputation. When a bounce webhook fires, add the email to your suppression list via POST /v1/suppression to prevent future sends.

Auto-Suppress Bounced Customers

JAVASCRIPT
// Zapier Code Step - Auto-Suppress Bounced Customer
// Trigger: MailOdds Webhook (message.bounced)
const response = await fetch('https://api.mailodds.com/v1/suppression', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    email: inputData.to,
    reason: 'hard_bounce',
    source: 'webhook'
  })
});

return { suppressed: response.ok };

Bulk Customer Validation

Validate large Shopify customer lists in one batch using POST /v1/jobs. Provide a callback_url to receive results when the job completes.

Bulk Validate Customer Emails

JAVASCRIPT
// Bulk Validate Shopify Customer Emails
const response = await fetch('https://api.mailodds.com/v1/jobs', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    emails: customerEmails,
    callback_url: 'YOUR_WEBHOOK_URL'
  })
});

Understanding is_bot and is_mpp in Webhook Events

is_bot = true when the event came from a security scanner, link prefetcher, or corporate email gateway (not a human). Common with Barracuda, Proofpoint, and Mimecast.

is_mpp = true when the event came from Apple Mail Privacy Protection, which pre-fetches all images and inflates open counts. Affects roughly 50% of iOS/macOS mail users.

Both fields are Booleans on engagement events (opened, clicked). Always guard with == true since they may be absent on non-engagement events.

Frequently Asked Questions

Troubleshooting

Need more help?

Can't find what you're looking for? We're here to help you get Shopify working.

Protect Your Shopify Store From Fake Emails

Get 1,000 free validations. Catch disposable addresses and improve deliverability.