ELM – Ebook Lead Magnet
Turn any page on your WordPress site into an email list machine. Give away a free PDF or EPUB, gate it behind a simple opt-in form, and let built-in urgency features and Brevo automation do the rest—no third-party landing-page tool, no data leaving your own site.
What It Does
Ebook Lead Magnet is a WordPress plugin for authors who want to run their own ebook opt-in funnel without handing subscriber data to a third-party landing-page service. Drop a shortcode anywhere on your site, and visitors trade their first name and email for a tokenized download link—delivered by Brevo, tracked in your own WordPress database, and backed by daily availability limits and live social-proof toasts to nudge the fence-sitters.
How It Works
1. A visitor starts typing their name. The opt-in widget shows just a first-name field until someone engages with it—typing a name (or moving to leave the page) opens the signup modal.
2. They add their email and submit. The modal asks for an email address to go with the name already typed, and submits over AJAX—no page reload.
3. Brevo sends the download link. The subscriber is added to your Brevo list and receives an email with a secure, tokenized link. If you’ve configured both PDF and EPUB, they choose their format; otherwise the file streams directly.
4. Everything else runs on autopilot. Daily availability limits and countdown timers create urgency, social-proof toasts show recent downloads in real time, and an unsubscribe link is automatically appended to every email.
Features
Opt-In Form & Modal: shortcode-based widget, teaser-to-modal flow (opens on first keystroke or exit intent), configurable pitch line and button label.
Delivery & Downloads: PDF and EPUB via secure tokenized links, format-choice page when both are configured, per-format download caps, files served from a protected non-browsable directory.
Urgency & Social Proof: per-magnet daily availability limits with a live countdown, real-time toasts showing recent downloads, optional state/province display via ipgeolocation.io.
Email Automation: per-magnet TinyMCE templates, template variables (name, links, timestamp, IP, etc.), Send Test Email with placeholder variables, one-time automatic resend for genuine re-submissions.
Admin Tools: unlimited magnets per install, searchable/sortable submissions table with per-format counts, CSV export, one-click export to a Brevo list.
Privacy & Security: non-removable gray unsubscribe link on every email, unsubscribing blacklists locally and in Brevo, every submission stores IP/timestamp as consent evidence, nonce-verified and sanitized throughout.
Download & Installation
Install from the Official WordPress Plugin Directory from inside of WordPress from Plugins → Add New.
Optionally, you can download it here and install from zip file.
Manual installation
- Download the zip file using the link above.
- In your WordPress admin, go to Plugins → Add New Plugin.
- Click Upload Plugin at the top of the page.
- Choose the downloaded zip file and click Install Now.
- Click Activate Plugin.
Once activated, ELM appears in your WordPress admin sidebar.
Requirements
- WordPress 6.3 or later
- PHP 8.1 or later
- A free Brevo account (for email sending)
- An ipgeolocation.io API key (optional — only for toast locations)
FAQ
Do I need a Brevo account? Yes. Brevo delivers every download-link email and holds your subscriber list. A free Brevo account is enough to get started.
Is the geolocation feature required? No. Without an ipgeolocation.io key, social-proof toasts still show, just without the state/province (“J. just downloaded…” instead of “J. from California just downloaded…”). No IP data is sent anywhere until you add a key.
What file formats can I offer? PDF, EPUB, or both. If you configure both, subscribers see a format-choice screen after clicking their download link; with only one configured, the file streams directly.
Can I run more than one lead magnet on my site? Yes—each magnet has its own file(s), pitch line, Brevo list, and email template, so you can offer a different book (or a different edition) from different pages.
What happens when someone unsubscribes? They’re blocked from signing up again—both locally and via a Brevo blacklist flag—and stop receiving any further email from you. Any download link they already have keeps working; unsubscribing doesn’t revoke access to a book they already claimed.
What data do you store about subscribers? First name, email address, IP address, and submission timestamp—kept as consent evidence and to enforce the daily limits and deduplication. Nothing is sent to Brevo or ipgeolocation.io until a visitor actually submits the form.
Is this free? The plugin is free and open source.
Does this work with any WordPress theme? Yes. The form inherits your theme’s input and button styling by default, with sane fallbacks if your theme doesn’t define them.
Changelog
0.1.0
Initial release.
Privacy
This plugin sends data to two external services, only when you configure them and only at the moments described below:
Brevo: your subscriber’s name, email, and the rendered email content are sent to Brevo when a download email goes out. Brevo also receives the contact when they opt in, and a blacklist flag when they unsubscribe. Your Brevo API key never leaves your site except to talk to Brevo.
ipgeolocation.io (optional): if you provide an API key, a subscriber’s IP address is sent to ipgeolocation.io to resolve a state/province for the social-proof toast. The result is cached briefly and never stored in your database. If no key is configured, this lookup never happens.
No data is transmitted to either service until a visitor completes the opt-in form.
