**Updated on 10/17/2018 to account for issues that were preventing this from working for some users**

1. Create a new signup page in your website by going to Site > + New Page and choosing Signup as the page type. You can leave the page status as "Unlisted" because users will have a direct link to the page. It is important to disable the social share prompt on this page.

2. Navigate to the Template tab of this page and remove all of the code. You should then paste the following code into the Template and click Save and publish changes:

<div id="content">


  <div class="form-wrap">
    <div class="form">
  <h2 id="confirming">Confirming email address...</h2><br>
      {% form_for signup %}

      <div class="form-errors">{% error_messages_for signup %}</div>

      <div class="row-fluid" style="visibility:hidden">
          <div class="span6"><label for="signup_email">Email</label><input class="text" id="signup_email" name="signup[email]" type="email"/></div>
        </div>


      <div class="row-fluid" style="visibility:hidden;">
          <div class="span6"><label class="checkbox" for="signup_email_opt_in"><input name="signup[email_opt_in]" type="hidden" value="1" checked /><input class="checkbox" checked="checked" id="signup_email_opt_in" name="signup[email_opt_in]" type="checkbox" value="1" /> Send me email updates</label></div>
        </div>
       
        <div style="visibility:hidden;">
      {% submit_tag "Confirm", class:"submit-button" %}
      <div class="form-submit"></div>
    </div>
   
      {% endform_for %}



    </div>
  </div>
</div>

<script>
var getUrlParameter = function getUrlParameter(sParam) {
    var sPageURL = decodeURIComponent(window.location.search.substring(1)),
        sURLVariables = sPageURL.split('&'),
        sParameterName,
        i;

    for (i = 0; i < sURLVariables.length; i++) {
        sParameterName = sURLVariables[i].split('=');

        if (sParameterName[0] === sParam) {
            return sParameterName[1] === undefined ? true : sParameterName[1];
        }
    }
};

var eaddress = getUrlParameter('email');

document.getElementById('signup_email').value = eaddress;

jQuery(function(){
   jQuery('.submit-button').click();
});
</script>

3. In the auto-response email templates for each page on your website, you should include a link to this page with "?email={{ recipient.email }}" appended to the end of it.

For example: 

Thanks for signing up! To confirm that you'd like to get emails from us, please click here: <a href="brianpalmer.nationbuilder.com/confirmation?email={{ recipient.email }}">CONFIRM EMAIL</a>

4. Adjust the Signup settings tab so that people who fill out this signup form are tagged with a specific tag, such as "Double opt in". From here on out, you should make sure to only send email blasts to people with this tag.

Users will now be prompted so confirm their email address after taking action on your page. 

Did this answer your question?