Skip to content

  • Home
  • About Us
  • Add-ons
  • Services
    • Shopify Development Services
    • Shopify Maintenance services
    • Shopify PageSpeed Optimization
    • Shopify Training
    • Shopify App Development
    • Shopify App Integration Services
    • Shopify Email Marketing
    • Shopify Web Design Agency
  • Blog
  • Contact Us
  • Search button

Add an Age Verification screen to Shopify store

May 8, 2022Nov 15, 2022
Add an age verification screen to Shopify store

If you sell products such as wine, cigarettes, or dangerous goods, then you might want to discourage visitors under a certain Shopify age verification screen from browsing your website. You can do this by adding an age selection form to your storefront.

Keep in mind that Add an age verification screen to Shopify store is not the best way to prevent visitors from browsing your website, as there’s nothing preventing them from lying about their age. It might even be a nuisance to regular visitors, who will have to make an additional click to access your store.

Editing your theme code to Add an age verification screen to Shopify store feature

Required files: section [age-check.liquid]
  • Section directory, create a new file named age-check.liquid and add the following code:
{% unless section.settings.enable_agecheck != true %}

{% assign enter_date_of_birth = section.settings.enter_bday %}

{% assign age = section.settings.age %}
{% assign bg_image = section.settings.image %}
{% assign e_url = section.settings.url %}

{% capture adult_header %}
{{section.settings.title}}
{% endcapture %}

{% capture adult_text %}
{{section.settings.text}}
{% endcapture %}

<div id="prompt-background">
  <div id="age-check-prompt" class="modal-prompt">
    <h1>
      {{ adult_header }}
    </h1>
    <p>
      {{ adult_text }}
    </p>
    <div{% unless enter_date_of_birth %} style="display:none;"{% endunless %}>
      <select name="bmonth" id="bmonth"{% unless enter_date_of_birth %} value="1"{% endunless %}>
        {% if enter_date_of_birth %}
        <option value="1">- Month -</option>
        <option value="1">January</option>
        <option value="2">February</option>
        <option value="3">March</option>
        <option value="4">April</option>
        <option value="5">May</option>
        <option value="6">June</option>
        <option value="7">July</option>
        <option value="8">August</option>
        <option value="9">September</option>
        <option value="10">October</option>
        <option value="11">November</option>
        <option value="12">December</option>
        {% endif %}
      </select>
      <select name="bday" id="bday"{% unless enter_date_of_birth %} value="1"{% endunless %}>
        {% if enter_date_of_birth %}
        <option value="1">- Day -</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
        <option value="13">13</option>
        <option value="14">14</option>
        <option value="15">15</option>
        <option value="16">16</option>
        <option value="17">17</option>
        <option value="18">18</option>
        <option value="19">19</option>
        <option value="20">20</option>
        <option value="21">21</option>
        <option value="22">22</option>
        <option value="23">23</option>
        <option value="24">24</option>
        <option value="25">25</option>
        <option value="26">26</option>
        <option value="27">27</option>
        <option value="28">28</option>
        <option value="29">29</option>
        <option value="30">30</option>
        <option value="31">31</option>
        {% endif %}
      </select>
      <select name="byear" id="byear"{% unless enter_date_of_birth %} value="1950"{% endunless %}>
        {% if enter_date_of_birth %}
        <option value="2015">- Year -</option>
        <option value="2012">2012</option>
        <option value="2011">2011</option>
        <option value="2010">2010</option>
        <option value="2009">2009</option>
        <option value="2008">2008</option>
        <option value="2007">2007</option>
        <option value="2006">2006</option>
        <option value="2005">2005</option>
        <option value="2004">2004</option>
        <option value="2003">2003</option>
        <option value="2002">2002</option>
        <option value="2001">2001</option>
        <option value="2000">2000</option>
        <option value="1999">1999</option>
        <option value="1998">1998</option>
        <option value="1997">1997</option>
        <option value="1996">1996</option>
        <option value="1995">1995</option>
        <option value="1994">1994</option>
        <option value="1993">1993</option>
        <option value="1992">1992</option>
        <option value="1991">1991</option>
        <option value="1990">1990</option>
        <option value="1989">1989</option>
        <option value="1988">1988</option>
        <option value="1987">1987</option>
        <option value="1986">1986</option>
        <option value="1985">1985</option>
        <option value="1984">1984</option>
        <option value="1983">1983</option>
        <option value="1982">1982</option>
        <option value="1981">1981</option>
        <option value="1980">1980</option>
        <option value="1979">1979</option>
        <option value="1978">1978</option>
        <option value="1977">1977</option>
        <option value="1976">1976</option>
        <option value="1975">1975</option>
        <option value="1974">1974</option>
        <option value="1973">1973</option>
        <option value="1972">1972</option>
        <option value="1971">1971</option>
        <option value="1970">1970</option>
        <option value="1969">1969</option>
        <option value="1968">1968</option>
        <option value="1967">1967</option>
        <option value="1966">1966</option>
        <option value="1965">1965</option>
        <option value="1964">1964</option>
        <option value="1963">1963</option>
        <option value="1962">1962</option>
        <option value="1961">1961</option>
        <option value="1960">1960</option>
        <option value="1959">1959</option>
        <option value="1958">1958</option>
        <option value="1957">1957</option>
        <option value="1956">1956</option>
        <option value="1955">1955</option>
        <option value="1954">1954</option>
        <option value="1953">1953</option>
        <option value="1952">1952</option>
        <option value="1951">1951</option>
        <option value="1950">1950</option>
        <option value="1949">1949</option>
        <option value="1948">1948</option>
        <option value="1947">1947</option>
        <option value="1946">1946</option>
        <option value="1945">1945</option>
        <option value="1944">1944</option>
        <option value="1943">1943</option>
        <option value="1942">1942</option>
        <option value="1941">1941</option>
        <option value="1940">1940</option>
        <option value="1939">1939</option>
        <option value="1938">1938</option>
        <option value="1937">1937</option>
        <option value="1936">1936</option>
        <option value="1935">1935</option>
        <option value="1934">1934</option>
        <option value="1933">1933</option>
        <option value="1932">1932</option>
        <option value="1931">1931</option>
        <option value="1930">1930</option>
        <option value="1929">1929</option>
        <option value="1928">1928</option>
        <option value="1927">1927</option>
        <option value="1926">1926</option>
        <option value="1925">1925</option>
        <option value="1924">1924</option>
        <option value="1923">1923</option>
        <option value="1922">1922</option>
        <option value="1921">1921</option>
        <option value="1920">1920</option>
        <option value="1919">1919</option>
        <option value="1918">1918</option>
        <option value="1917">1917</option>
        <option value="1916">1916</option>
        <option value="1915">1915</option>
        <option value="1914">1914</option>
        <option value="1913">1913</option>
        <option value="1912">1912</option>
        <option value="1911">1911</option>
        <option value="1910">1910</option>
      {% endif %}
      </select>
      <div style="clear:both; margin-bottom:15px"></div>
    </div>
    <button id="submit_birthdate" class="button-enter btn styled-submit" onclick="ageCheck()" style="display:inline-block">Enter</button>
    <span style="padding: 0 4px">or</span>
    <a href="{{e_url}}" id="button-exit" name="button-exit">Exit</a>
  </div>
</div>

<script>
 function ageCheck() {
   var min_age = {{ age }};  // Set the minimum age.
   var year =   parseInt(document.getElementById('byear').value);
   var month =  parseInt(document.getElementById('bmonth').value);
   var day =    parseInt(document.getElementById('bday').value);
   var theirDate = new Date((year + min_age), month, day);
   var today = new Date;
   if ((today.getTime() - theirDate.getTime()) < 0) {
     window.location = '{{e_url}}'; //enter domain url where you would like the underaged visitor to be sent to.
   } else {
     var days = 14; //number of days until they must go through the age checker again.
     var date = new Date();
     date.setTime(date.getTime()+(days*24*60*60*1000));
     var expires = "; expires="+date.toGMTString();
     document.cookie = 'isAnAdult=true;'+expires+"; path=/";
     location.reload();
   };
  };
  function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
      var c = ca[i];
      while (c.charAt(0)==' ') c = c.substring(1,c.length);
      if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
  };
  var isAnAdult = readCookie('isAnAdult');
    if (isAnAdult) {
      var elem = document.getElementById('shopify-section-age-check');
      elem.style.display = 'none';
    };
</script>

<style>
  .modal-prompt {
    background: #fff;
    border-radius: 2px;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.5);
    width: 330px;
    height: auto;
    margin: 0 auto;
    padding: 20px 35px 30px 35px;
    position: relative;
    top: 25%;
    z-index: 1000000;
  }
  .modal-prompt p, .modal-prompt h1 {
    color: #555555;
  }
  #prompt-background {
    background: url("{{ bg_image | img_url: '1200x1200' }}") no-repeat center center fixed #555;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 9999999;
  }

  .modal-prompt select { float: left; margin-right: 10px; }
</style>
{% endunless %}
{% schema %}
  {
    "name": "Age Verification",
    "settings": [
      {
        "type": "checkbox",
        "id": "enable_agecheck",
        "label": "Enable Age Check",
        "default": true
      },
      {
        "type": "text",
        "id": "title",
        "label": "Title",
        "default": "Title"
      },
      {
        "type": "richtext",
        "id": "text",
        "label": "More text"
      },
      {
        "type": "number",
        "id": "age",
        "label": "Age requirement",
        "default": 18
      },
      {
        "type": "checkbox",
        "id": "enter_bday",
        "label": "Enter birth date",
        "default": true
      },
      {
        "type": "text",
        "id": "url",
        "label": "Exit url",
        "default": "http://google.com/"
      },
      {
        "type": "image_picker",
        "id": "image",
        "label": "Background image"
      }

    ]
  }
{% endschema %}

{% stylesheet %}
{% endstylesheet %}

{% javascript %}
{% endjavascript %}
  • In the Layout directory, find theme.liquid and add the following code right above of ending </body> tag :
{% section 'age-check' %}
  • Congrats, You’ve completed the coding parts.
  • Now it’s available in Themes>customization>Age varification page section settings. Click Age verification, you could see the options.

Add an age verification screen to Shopify store

Shopify Age verification screen

Shopify Age Verification

Posted in Shopify Tutorials

Post navigation

Prev LookBook Image Gallery to Shopify store
Next How Product pages – Allow pre-orders for products

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Latest Posts

  • Shopify Flow
    Unlock the Power of Shopify Flow: Automation Strategies for eCommerceDec 8, 2023
  • shopify liquid, custom liquid shopify, shopify liquid cheat sheet, how to add image in shopify liquid, shopify liquid button code, shopify liquid tutorial
    Everything You Need to Know About Shopify LiquidNov 20, 2023
  • best shopify themes for conversion, yuva theme shopify, impulse theme, retina theme shopify, shopify focal theme, drop shopify theme, stiletto shopify theme
    Maximizing Revenue: 7 Best Shopify Themes for Conversion Rates that SoarNov 13, 2023
  • dropshipping business ideas
    Terrific Dropshipping Business Ideas for 2024Nov 6, 2023

Subscribe Now

Follow Us

  • facebook
  • twitter
  • instagram
  • linkedin2

OriginateWeb.com is the realization of a dream. Our founder previously spent several years working for a large website development company.

Quick Links

  • Shopify Services
  • About Us
  • Shopify Theme Add-ons
  • Blog
  • Contact Us
  • Careers

Services

  • Shopify Theme Add-ons
  • Website Development
  • Page Speed Optimization
  • App Development
  • Maintenance
  • Training

Need Help?

  • Licensing Agreement
  • Terms and Conditions
  • Privacy Policy
  • Sitemap
  • facebook
  • twitter
  • instagram
  • linkedin2

© 2024 Originate Web. All Rights Reserved