Shopify + MailOdds
Validate customer emails at registration and checkout. Catch disposable addresses, reduce bounces, and improve email campaign deliverability.
Prerequisites
- MailOdds account with API key
- Shopify store
- Zapier or Make account
How to Connect
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:
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.
Related Integrations
Protect Your Shopify Store From Fake Emails
Get 1,000 free validations. Catch disposable addresses and improve deliverability.