Download Protection

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

OptionDescription
Enable Email LockMaster toggle
TitleHeading for email form
Ask For Visitors NameCollect the visitors name
Message After SubmitCustom message after email submission
Custom FieldsCollect additional data

Email Validation

OptionDescription
Verify EmailCheck email format
Block DisposableReject temporary email services
Domain WhitelistOnly accept specific domains
Domain BlacklistBlock specific domains

Download Behavior

OptionDescription
Instant DownloadDownload starts after submission
Email Download LinkSend link via email
Wait For ApprovalRequires 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:

ServiceAdd-on
MailchimpMailChimp Subscription
ActiveCampaignActiveCampaign Subscription
Constant ContactConstant Contact Subscription
Campaign MonitorCampaign Monitor Subscription
SendinblueSendinblue integration for WPDM
HubSpotWPDM – HubSpot CRM Integration
ZohoWPDM – Zoho CRM Leads
ConvertKitWPDM – ConvertKit
iContactiContact Subscription
Mad MiniWPDM – MadMini
FeedBlitzWPDM – 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

FieldDescription
EmailSubscriber email
NameIf collected
PackageWhich package triggered signup
DateSubscription date
StatusConfirmed/pending

Exporting Subscribers

  • Go to Downloads > Subscribers
  • Click Export
  • Download file (CSV format)

Managing Subscribers

ActionDescription
DeleteRemove subscriber
ResendResend confirmation (double opt-in)
BlockPrevent future downloads

Custom Fields

Adding Custom Fields:

Use advanced custom fields add-on:

Field Types

TypeDescription
textSingle line text
emailEmail input
telPhone number
text-areaMulti-line text
selectDropdown
checkboxCheckbox
radioRadio buttons

GDPR Compliance

Privacy Settings

At Downloads > Settings > Privacy:

SettingDescription
Privacy Policy LinkLink to your privacy policy
Consent CheckboxRequire explicit consent
Consent TextCustomizable consent message
Data RetentionAuto-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:

SettingDescription
Default EnabledEnable for new packages
Require NameAlways collect name
Double Opt-inDefault confirmation method
Blocked DomainsDomains to reject
Remember DurationDays 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

Related Documentation