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 or Access/Update Lock panel
- 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 |
| Collect Name | Also request user’s name |
| Double Opt-in | Send confirmation email first |
| Custom Fields | Add additional fields |
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 |
| Remember User | Don’t ask again for returning users |
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 | wpdm-mailchimp |
| ActiveCampaign | wpdm-activecampaign |
| Constant Contact | wpdm-constant-contact |
| Campaign Monitor | wpdm-campaign-monitor |
| Sendinblue | wpdm-sendinblue |
| HubSpot | wpdm-hubspot |
| Zoho | wpdm-zoho |
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:
- Edit package
- 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
Subscriber Data
| Field | Description |
|---|---|
| Subscriber email | |
| Name | If collected |
| Package | Which package triggered signup |
| Date | Subscription date |
| IP | User’s IP address |
| Status | Confirmed/pending |
Exporting Subscribers
- Go to Downloads > Subscribers
- Click Export
- Choose format (CSV, Excel)
- Download file
Managing Subscribers
| Action | Description |
|---|---|
| Delete | Remove subscriber |
| Resend | Resend confirmation (double opt-in) |
| Block | Prevent future downloads |
Custom Fields
Adding Custom Fields
Collect additional information:
add_filter('wpdm_email_lock_fields', function($fields) {
$fields['company'] = [
'label' => 'Company Name',
'type' => 'text',
'required' => false
];
$fields['phone'] = [
'label' => 'Phone Number',
'type' => 'tel',
'required' => false
];
return $fields;
});
Field Types
| Type | Description |
|---|---|
text |
Single line text |
email |
Email input |
tel |
Phone number |
textarea |
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('wpdm_email_lock_labels', function($labels) {
$labels['title'] = 'Get Your Free Download';
$labels['email_placeholder'] = 'Enter your best email';
$labels['submit'] = 'Send Me the File';
$labels['privacy'] = 'We never spam. Unsubscribe anytime.';
return $labels;
});
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
Related Documentation
Last updated: January 2026
Applies to: WordPress Download Manager 7.x