Email Lock
4 min read
Updated Feb 24, 2026
Overview
Email lock requires users to submit their email address before downloading. It’s an effective way to build your mailing list while providing value through free downloads. Collected emails can integrate with popular email marketing services.
Prerequisites
- WordPress Download Manager installed
- At least one published package
- Email marketing integration (optional)
Quick Start
- Edit a package
- Find Lock Options panel
- Enable Email Lock
- Save package
Enabling Email Lock
Step 1: Access Lock Settings
- Edit any package
- Scroll to Lock Options
- Find the Email Lock section
Step 2: Enable
☑ Enable Email Lock
Step 3: Save
Click Update or Publish to save.
Email Lock Options
Basic Settings
| Option | Description |
|---|---|
| Enable Email Lock | Master toggle |
| Title | Heading for email form |
| Ask For Visitors Name | Collect the visitors name |
| Message After Submit | Custom message after email submission |
| Custom Fields | Collect additional data |
Email Validation
| Option | Description |
|---|---|
| Verify Email | Check email format |
| Block Disposable | Reject temporary email services |
| Domain Whitelist | Only accept specific domains |
| Domain Blacklist | Block specific domains |
Download Behavior
| Option | Description |
|---|---|
| Instant Download | Download starts after submission |
| Email Download Link | Send link via email |
| Wait For Approval | Requires admin approval to access the package |
User Experience
Email Form
When a package has email lock:
┌─────────────────────────────────────┐ │ 📧 Free Download │ ├─────────────────────────────────────┤ │ │ │ Enter your email to download: │ │ │ │ ┌─────────────────────────────┐ │ │ │ your@email.com │ │ │ └─────────────────────────────┘ │ │ │ │ ☐ Subscribe to our newsletter │ │ │ │ [Download Now] │ │ │ │ We respect your privacy. │ │ │ └─────────────────────────────────────┘
With Name Field
┌─────────────────────────────────────┐ │ Name: │ │ ┌─────────────────────────────┐ │ │ │ John Smith │ │ │ └─────────────────────────────┘ │ │ │ │ Email: │ │ ┌─────────────────────────────┐ │ │ │ john@example.com │ │ │ └─────────────────────────────┘ │ │ │ │ [Download Now] │ └─────────────────────────────────────┘
Double Opt-in Flow
- User enters email
- Confirmation email sent
- User clicks confirmation link
- Download becomes available
- User added to email list
Email Marketing Integration
Built-in Integrations
WPDM integrates with these services via add-ons:
| Service | Add-on |
|---|---|
| Mailchimp | MailChimp Subscription |
| ActiveCampaign | ActiveCampaign Subscription |
| Constant Contact | Constant Contact Subscription |
| Campaign Monitor | Campaign Monitor Subscription |
| Sendinblue | Sendinblue integration for WPDM |
| HubSpot | WPDM – HubSpot CRM Integration |
| Zoho | WPDM – Zoho CRM Leads |
| ConvertKit | WPDM – ConvertKit |
| iContact | iContact Subscription |
| Mad Mini | WPDM – MadMini |
| FeedBlitz | WPDM – FeedBlitz |
Configuring Integration
- Install email marketing add-on
- Go to Downloads > Settings > Email Marketing
- Enter API credentials
- Select default list/audience
- Configure field mapping
Per-Package Lists
Assign emails to specific lists per package:
- Go to Edit package > Lock Options > Enable Email Lock
- Find Email Marketing settings
- Select target list
- Save package
Collected Emails
Viewing Subscribers
- Go to Downloads > Subscribers
- View all collected emails
- Filter by package, date, status
- Export All or Export Unique Emails
Subscriber Data
| Field | Description |
|---|---|
| Subscriber email | |
| Name | If collected |
| Package | Which package triggered signup |
| Date | Subscription date |
| Status | Confirmed/pending |
Exporting Subscribers
- Go to Downloads > Subscribers
- Click Export
- Download file (CSV format)
Managing Subscribers
| Action | Description |
|---|---|
| Delete | Remove subscriber |
| Resend | Resend confirmation (double opt-in) |
| Block | Prevent future downloads |
Custom Fields
Adding Custom Fields:
Use advanced custom fields add-on:
Field Types
| Type | Description |
|---|---|
text | Single line text |
email | Email input |
tel | Phone number |
text-area | Multi-line text |
select | Dropdown |
checkbox | Checkbox |
radio | Radio buttons |
GDPR Compliance
Privacy Settings
At Downloads > Settings > Privacy:
| Setting | Description |
|---|---|
| Privacy Policy Link | Link to your privacy policy |
| Consent Checkbox | Require explicit consent |
| Consent Text | Customizable consent message |
| Data Retention | Auto-delete after X days |
Consent Checkbox
┌─────────────────────────────────────┐ │ Email: [________________] │ │ │ │ ☐ I agree to the privacy policy │ │ and consent to receive emails │ │ │ │ [Download] │ └─────────────────────────────────────┘
Data Export/Delete
Users can request their data:
- User submits request
- Admin receives notification
- Export or delete data via Downloads > Subscribers
Global Settings
At Downloads > Settings > Email Lock:
| Setting | Description |
|---|---|
| Default Enabled | Enable for new packages |
| Require Name | Always collect name |
| Double Opt-in | Default confirmation method |
| Blocked Domains | Domains to reject |
| Remember Duration | Days to remember user |
Combining with Other Locks
Email + Password
Require both email AND password:
Locks: ☑ Email Lock ☑ Password Lock
User must submit email AND enter password.
Email + Terms
Collect email AND require terms acceptance:
Locks: ☑ Email Lock ☑ Terms & Conditions Lock
Customizing the Form
CSS Styling
/* Email form container */
.wpdm-email-lock-form {
max-width: 400px;
margin: 20px auto;
padding: 30px;
background: #f8fafc;
border-radius: 12px;
}
/* Email input */
.wpdm-email-lock-form input[type="email"] {
width: 100%;
padding: 14px;
font-size: 16px;
border: 2px solid #e5e7eb;
border-radius: 8px;
}
.wpdm-email-lock-form input[type="email"]:focus {
border-color: #4f46e5;
outline: none;
}
/* Submit button */
.wpdm-email-lock-form button {
width: 100%;
padding: 14px;
background: linear-gradient(135deg, #4f46e5, #7c3aed);
color: white;
border: none;
border-radius: 8px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
}
/* Privacy text */
.wpdm-email-lock-form .privacy-notice {
font-size: 12px;
color: #6b7280;
margin-top: 12px;
}
Custom Labels
add_filter('email_lock_email_field_label', function($label) {
$label = 'Enter your active email address';
return $label;
});
Troubleshooting
Emails Not Collecting
Causes:
- Email lock not enabled
- Form submission error
- Database issue
Solutions:
- Verify email lock is enabled
- Check browser console for errors
- Verify database table exists
Confirmation Emails Not Sending
Causes:
- Email configuration issue
- Blocked by spam filter
- SMTP not configured
Solutions:
- Test WordPress email sending
- Check spam folders
- Configure SMTP plugin
Disposable Emails Getting Through
Cause: Block list needs updating
Solution:
- Enable disposable email blocking
- Add domains to blacklist manually
- Update WPDM to latest version
Integration Not Syncing
Causes:
- Invalid API credentials
- List not selected
- API limit reached
Solutions:
- Verify API key is correct
- Confirm list ID is valid
- Check email service dashboard