Ecomail
Ecomail integration plugin for Medusa v2 - email marketing and transaction tracking
medusa-plugin-ecomail
Ecomail integration plugin for Medusa v2 - email marketing and transaction tracking.
Features
- 📧 Subscriber Management - Add, update, and manage Ecomail subscribers
- 🛒 E-commerce Tracking - Automatically track order transactions in Ecomail
- 🎯 Smart Subscription - Intelligent handling of new subscribers, updates, and resubscriptions
- 🎨 Admin UI - Built-in admin panel for testing and managing subscribers
- 🔄 Auto-sync - Automatic synchronization of customer data with Ecomail lists
Compatibility
This plugin is compatible with Medusa v2 (>= 2.11.2).
Installation
Configuration
Basic Configuration (Default Mode)
Add the plugin to your :
Default Behavior: All customers are automatically synced to Ecomail when they place an order.
GDPR-Compliant Configuration
For GDPR compliance, enable explicit consent requirement:
GDPR Behavior: Only customers who explicitly consent are synced to Ecomail.
Environment Variables
Add these to your file:
Configuration Options
| Option | Type | Required | Default | Description |
|---|---|---|---|---|
| string | Yes | - | Your Ecomail list ID | |
| string | Yes | - | Your Ecomail API token | |
| string | No | Your shop domain for transaction tracking | ||
| boolean | No | Require explicit consent before syncing customers | ||
| string | No | Metadata key to check for consent |
Automatic Syncing
The plugin automatically syncs customers to Ecomail when orders are placed. No additional code is required!
How It Works
- Customer places an order → event fires
- Plugin checks consent (if is enabled)
- Syncs customer data to Ecomail list
- Tracks transaction for e-commerce analytics
Consent Handling
Default Mode ()
All customers are automatically synced to Ecomail when they place an order. No consent checking is performed.
GDPR Mode ()
Only customers who explicitly consent are synced. The plugin checks for consent in order or customer metadata.
How to pass consent from your storefront:
When completing checkout, include the consent flag in the order metadata:
The plugin checks for consent in this order:
- Order metadata ()
- Customer metadata ()
If consent is , the customer is synced. If or missing (in GDPR mode), the sync is skipped.
Customizing the Consent Key
You can use a different metadata key for consent:
Then pass it from your storefront:
Usage
In Your Code
Import and use the Ecomail service in your custom modules, subscribers, or workflows:
Admin Panel
The plugin adds an Ecomail settings page to your Medusa admin panel where you can:
- Test subscriber operations (Check, Add, Update, Smart Add)
- View subscriber details
- Verify plugin configuration
Access it at: Settings → Ecomail
API Reference
EcomailService Methods
Adds a new subscriber to the Ecomail list.
Parameters:
- (required) - Subscriber email
- - First name
- - Last name
- - City
- - Country code
- - Postal code
- - Company name
- - Street address
- - Phone number
Retrieves an existing subscriber from the list.
Updates an existing subscriber's data.
Smart method that:
- Adds subscriber if they don't exist
- Updates subscriber if they exist and are subscribed
- Resubscribes if they exist but are unsubscribed
Tracks an e-commerce transaction in Ecomail with order details and items.
Custom Integration Examples
Using the Service Directly
While the plugin automatically syncs on order placement, you can also use the service directly for custom scenarios:
Manual Sync from API Route
TypeScript Types
Testing
Testing Consent Modes
Default Mode (sync everyone):
- Configure plugin without or set it to
- Place a test order
- Verify customer appears in Ecomail list
- Verify transaction is tracked
GDPR Mode (require consent):
- Configure plugin with
- Place order WITH consent ()
- Customer should be synced ✓
- Place order WITHOUT consent ()
- Customer should NOT be synced ✓
- Place order with NO metadata
- Customer should NOT be synced ✓
Testing via Admin Panel
The plugin includes an admin panel (Settings → Ecomail) where you can:
- Test adding subscribers manually
- Check if a subscriber exists
- Update subscriber information
- Verify your Ecomail connection
Error Handling
The plugin is designed to be resilient:
- Ecomail sync failures do not break the order flow
- All errors are logged for debugging
- Orders complete successfully even if Ecomail is unavailable
Development
Resources
License
MIT
Author
Gramino
Made with ❤️ for the Medusa community

