Delivering Lead Magnets
Lead magnets are one of the most common reasons to use Alva Downloads. When someone fills out a Klaviyo form in exchange for free content — an ebook, a checklist, a template pack — Alva delivers it automatically through a secure download link. No public URLs, no manual emails, no Zapier chains.
What you’ll build
Section titled “What you’ll build”By the end of this guide, you’ll have a fully automated lead magnet delivery system:
- A subscriber fills out your Klaviyo signup form.
- Klaviyo triggers a flow that sends a webhook to Alva.
- Alva generates a secure, time-limited download link and fires an event back to Klaviyo.
- Klaviyo sends the subscriber an email with their personal download link.
- The subscriber clicks the link and downloads your content from a branded page.
Everything after the form submission happens automatically — typically within a few seconds.
Prerequisites
Section titled “Prerequisites”Before you start, make sure you have:
- An Alva Downloads account connected to your Klaviyo account (setup guide)
- At least one file uploaded to Alva (your lead magnet PDF, template, etc.)
- A Klaviyo account with access to Forms and Flows
Step 1: Upload your lead magnet
Section titled “Step 1: Upload your lead magnet”If you haven’t uploaded your file yet:
- In Alva, go to Files in the sidebar.
- Click Upload Files and select your lead magnet (PDF, DOCX, ZIP, or any supported format).
- Give it a clear title like “2026 Marketing Checklist” — this shows on the download page.
See Managing Files for details on supported formats and file size limits.
Step 2: Create a download bundle
Section titled “Step 2: Create a download bundle”A download bundle is what gets delivered to your subscribers. Even if you’re delivering a single file, you’ll wrap it in a bundle.
- Go to Download Bundles in the sidebar and click New Bundle.
- Fill in the details:
- Name — something descriptive like “Free Marketing Checklist” (this appears in Klaviyo events and on the download page).
- Description — optional, for your own reference.
- Download type — choose Individual for a single file, or ZIP if you’re delivering multiple files as one download.
- Select your lead magnet file(s) from the file picker.
- Click Create.
Step 3: Create the webhook endpoint
Section titled “Step 3: Create the webhook endpoint”Every bundle has its own webhook endpoint. You need two pieces of information from it:
- Open the bundle you just created (or go to Settings > Webhook Configuration).
- Copy the Webhook URL — it looks like
https://klaviyo.alvaapps.com/webhook/your-endpoint-slug. - Copy the Webhook Secret — click “Reveal” to see it.
Keep both values handy. You’ll paste them into Klaviyo in the next step.
Step 4: Set up the Klaviyo form
Section titled “Step 4: Set up the Klaviyo form”If you already have a signup form, skip to Step 5. Otherwise:
- In Klaviyo, go to Signup Forms.
- Click Create Signup Form and choose a template (popup, flyout, embedded, or full page).
- Design your form. At minimum, collect the subscriber’s email address. You can also collect first name, last name, or any custom properties.
- Set the form’s submit action to add subscribers to a list (e.g., “Lead Magnet Subscribers”) — you’ll use this list as the flow trigger.
- Publish the form.
Step 5: Build the Klaviyo flow
Section titled “Step 5: Build the Klaviyo flow”This is where you connect the form submission to Alva’s delivery system. You’ll create a flow with two actions: a webhook (to tell Alva to generate the download link) and an email (to send the link to the subscriber).
Create the flow
Section titled “Create the flow”- In Klaviyo, go to Flows > Create Flow > Build from Scratch.
- Set the trigger to List and select the list your form adds subscribers to (e.g., “Lead Magnet Subscribers”).
- Name the flow something clear like “Lead Magnet Delivery”.
Add the webhook action
Section titled “Add the webhook action”- In the flow builder, drag a Webhook action as the first step.
- Configure it:
- URL — paste the webhook URL from Alva.
- Headers — add a custom header:
- Key:
x-alva-webhook-secret - Value: paste the webhook secret from Alva.
- Key:
- Leave the method as POST and content type as JSON.
- Save the webhook action.
Add a time delay
Section titled “Add a time delay”- After the webhook, add a Time Delay of 1 minute.
- This gives Alva time to process the delivery and fire the “Alva Download Ready” event back to Klaviyo before the email sends.
Add the email action
Section titled “Add the email action”- After the time delay, add an Email action.
- Design your email (see Step 6 for tips).
- Use the Alva event properties to include the download link and details.
Your finished flow should look like this:
Trigger: Subscribed to "Lead Magnet Subscribers" ↓Webhook: POST to Alva endpoint ↓Time Delay: 1 minute ↓Email: "Your free [content] is ready!"Alternative: Use a separate event-triggered flow
Section titled “Alternative: Use a separate event-triggered flow”Instead of a time delay, you can use a more reliable two-flow approach:
Flow 1 (webhook only):
- Trigger: Subscribed to list
- Action: Webhook to Alva
Flow 2 (email only):
- Trigger: “Alva Download Ready” metric
- Action: Email with download link
This approach guarantees the email only sends after Alva has processed the delivery. It’s the same pattern described in the Klaviyo Integration guide. The tradeoff is managing two flows instead of one.
Step 6: Design the delivery email
Section titled “Step 6: Design the delivery email”In your email template, reference the Alva event properties to include the download link and details.
Key variables
Section titled “Key variables”| Variable | What it contains |
|---|---|
{{ event.DownloadPageURL }} | The subscriber’s unique download page link |
{{ event.ProductName }} | Name of your download bundle |
{{ event.FileCount }} | Number of files in the bundle |
{{ event.ExpiresAt }} | When the link expires |
{{ event.MaxDownloads }} | How many times they can download |
Example email content
Section titled “Example email content”Subject: Your free marketing checklist is ready
Hi {{ person.first_name|default:"there" }},
Thanks for signing up! Your download is ready.
{{ event.ProductName }}
Click the button below to access your files:
[Download Now] → {{ event.DownloadPageURL }}
This link expires on {{ event.ExpiresAt }} and allowsup to {{ event.MaxDownloads }} downloads.
If you have any trouble, just reply to this email.Tips for a good delivery email
Section titled “Tips for a good delivery email”- Make the download button prominent. Use a large, high-contrast CTA button linked to
{{ event.DownloadPageURL }}. - Set expectations. Tell them how many files they’re getting and when the link expires.
- Keep it short. They signed up for content, not a newsletter. Deliver the link quickly and save the pitch for a follow-up email.
- Brand it. Match the email design to your download page branding for a consistent experience. See Download Page Branding for customization options.
Step 7: Test the flow
Section titled “Step 7: Test the flow”Before going live, test the entire flow end-to-end:
- Set the flow to Manual or Draft mode in Klaviyo while testing.
- Submit your own form using a test email address.
- Check the Klaviyo profile for your test email. You should see:
- A “Subscribed to List” event from the form submission.
- An “Alva Download Ready” event from Alva (within a few seconds of the webhook firing).
- Check Alva’s Deliveries page — you should see a new delivery with status “Approved”.
- Open the download page URL from the Alva Download Ready event properties. Verify your files appear and the download works.
- Manually trigger the email in Klaviyo (or wait for the flow) and confirm it arrives with the correct download link.
- Once everything works, set the flow to Live.
Follow-up automation ideas
Section titled “Follow-up automation ideas”Once your lead magnet delivery is working, use Alva’s events on Klaviyo profiles to build smarter follow-up sequences.
Segment downloaders vs. non-downloaders
Section titled “Segment downloaders vs. non-downloaders”Create two Klaviyo segments:
- Downloaded: Profiles where “Alva All Files Downloaded” has been triggered at least once.
- Didn’t download: Profiles where “Alva Download Ready” has been triggered but “Alva All Files Downloaded” has not.
Send different nurture sequences to each group. People who downloaded are warmer leads — they engaged with your content. People who didn’t may need a reminder or a different approach.
Send a reminder for unused links
Section titled “Send a reminder for unused links”Create a flow triggered by the Alva Download Link Expired event where WasPartiallyDownloaded is false (they never downloaded anything). Send a message like:
“Looks like you haven’t downloaded your free checklist yet. Want us to send a new link?”
You can then re-trigger the delivery manually from Alva or set up a re-delivery flow.
Trigger a nurture sequence after download
Section titled “Trigger a nurture sequence after download”Create a flow triggered by Alva All Files Downloaded. Wait a day or two, then start a nurture sequence:
- “Did you find the checklist helpful?” (engagement check)
- “Here are 3 ways to put it into action” (value-add content)
- “Ready for the next step?” (soft pitch for a paid product or service)
This is more effective than a generic drip sequence because you know the subscriber actually consumed your content.
Track lead magnet performance
Section titled “Track lead magnet performance”In Alva’s Analytics dashboard, monitor:
- Delivery count — how many people are triggering the form.
- Download rate — what percentage actually download the files.
- Time to download — how quickly people access their content after receiving the email.
Use these metrics to optimize your form placement, email timing, and content offerings.
Next steps
Section titled “Next steps”- Download Page Branding — Customize the page your subscribers see when they click the download link.
- Deliveries & Analytics — Monitor delivery status and download metrics.
- Klaviyo Events Reference — Full list of events and properties Alva fires to Klaviyo.