• Skip to primary navigation
  • Skip to main content
  • Skip to footer

FormSync

Next level form management for WordPress.

  • Gravity Forms
  • Contact
  • Development Updates

Opt-In Downloads Using Gravity Forms

September 30, 2019 by Ren Ventura

Offering some kind of free download is a great way to entice readers to signup for an email list. Perhaps you’re selling a premium course, and would like to offer readers a free e-book that supports the course. In exchange for the free e-book, you’d like your readers to sign up for your mailing list so that you can send them information about your course.

Email Opt-in File Delivery

This is surprisingly simple to achieve, and you don’t need any special plugins to do it. If you already have a contact form plugin (ideally one that integrates with your mailing service), that should be all you need! We’ll take a look at how to create an opt-in download using Gravity Forms and MailChimp.

Creating the Opt-In Form

We’ll keep this very simple, but collect whatever info you need. In our form, we’ll collect a first and last name, and email address, like so:

Gravity Forms Opt-In Form
Gravity Forms Opt-In Form

MailChimp for Gravity Forms

For the MailChimp portion, make sure to install the MailChimp add-on for Gravity Forms. If you haven’t already, head over to Forms –> Settings –> MailChimp, and save your MailChimp API key.

Now, we can add a MailChimp feed for our opt-in form. In the form’s settings, click MailChimp –> Add New. Name your feed, select a list to which you want to add subscribers, and map your form fields to the MailChimp fields, and save. Your feed should look something like this:

Gravity Forms Opt-In Form MailChimp Feed
Gravity Forms Opt-In Form MailChimp Feed

Your form is now set up to add readers to your mailing list when they submit their info. Now on to the fun part!

Delivering the Opt-In Download

Now, let’s figure out how we want to deliver the opt-in download to our new list subscriber. We want to add a bit of security here in the sense that we at least want to verify the email address has actually been added to MailChimp. This is especially true for double opt-ins, since immediately redirecting readers to a download page after submission would result in handing over the download before they’ve completed their signup. To do this, we’ll add the reader’s submitted email address as a URL query parameter to our download page, and then link to that thank-you page from the MailChimp “Confirmation thank you page.”

To edit the “Confirmation thank you page,” head into your audience’s settings area, find the Signup Forms –> Form Builder area, and select the “Confirmation thank you page” option. Customize this page however you wish, but be sure to include a link to your download page with the proper URL query parameter. Something like this:

<a href="https://gravityforms.test/download?email=*|EMAIL|*" target="_blank">Click here to claim your e-book</a>.

Make sure to change the main part of that URL to the correct download page on your site. However, keep the ?email=*|EMAIL|* portion, as it is what we’ll use to verify the email has been fully added to our list.

Let’s now add in some validation to make sure the email in the URL is actually signed up for our list in MailChimp. Add the following snippet to your theme’s functions.php file, or a custom functions plugin.

View this gist on GitHub

This adds a shortcode that, when the email is subscribed in MailChimp, shows a “Download File” link for your readers to download the file. Make sure to change $audience_id to the ID of your audience/list, $dc to your data center (e.g. us3), and $api_key to your API key (the same one you added in the Gravity Forms settings). The shortcode includes a url attribute for setting the URL to the file.

With the code added, we can add the new shortcode to any page. [optin_download url="download link here"]. Change the url attribute to point to your file’s correct URL.

Note that this will not protect the file from being shared; this is only a way of showing you how to verify an email is subscribed before providing a link to the file. If you need to protect the file’s URL, you should customize this to fit your requirements, or opt for a more robust solution.

There you have it! A lightweight system for collecting emails and delivering a free download to subscribers, all with Gravity Forms!

Building your WordPress forms locally?

Forget manual export/import, and cumbersome database migrations! FormSync helps you build your WordPress forms locally, and automatically sync them on staging and production. Check it out!

Filed Under: Tutorials

Footer

Looking for?

  • Home
  • Contact
  • Account
  • Blog

Documentation

  • FormSync and Gravity Forms

Helpful

  • Follow FormSync on Twitter

Copyright © FormSync - Easy form management for WordPress.