Add Back to Top Button on Shopify Using Code: Detailed Tutorial

Add Back to Top Button on Shopify Using Code: Detailed Tutorial

A great way to improve page user experience is to ensure customers can quickly move to the top of a page. So, no matter where they are on a page, they can find their way back without having to scroll up again. 

A Back to Top button is really helpful if you have long pages that need a lot of scrolling. By clicking this floating button located somewhere on a page, customers can now return to the top of said page.

In this tutorial, you’ll find a detailed walkthrough on how to add a Back to Top button to your Shopify store using code.


How to Add Back to Top Button using Code

From your Shopify admin, go to Online Store > Themes.

  1. Find the theme you want to edit, and then click Actions > Edit code.
  2. In the Snippets directory, click Add a new snippet.
  3. Name your snippet back-to-the-top, then click Create snippet. Your snippet file opens in the code editor.
  4. Paste the following code into your newly created back-to-the-top file:

    {% comment %}
    Reduce below value if you need the back to the top button to appear higher up on the page.
    That value is in pixels.
    {% endcomment %}
    {% assign vertical_offset_for_trigger = 300 %}

    {% comment %}
    Vertical offset from bottom of browser for the position of the button.
    {% endcomment %}
    {% assign position_from_bottom = '6em' %}

    <a id="BackToTop" href="#" title="Back to the top" class="back-to-top hide">
    <span>Back to the top</span> <i class="fa fa-arrow-circle-o-up fa-2x"></i>
    </a>
    {{ '//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css' | stylesheet_tag }}
    <style>
    .back-to-top {
    position: fixed;
    bottom: {{ position_from_bottom }};
    right: 0px;
    text-decoration: none;
    color: #999;
    background-color: #eee;
    font-size: 16px;
    padding: 0.3em;
    -webkit-border-top-left-radius: 3px;
    -webkit-border-bottom-left-radius: 3px;
    -moz-border-radius-topleft: 3px;
    -moz-border-radius-bottomleft: 3px;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    z-index: 60000;
    }
    .back-to-top i {
    vertical-align: middle;
    }
    .back-to-top span {
    padding-left: 0.5em;
    }
    .back-to-top i + span {
    padding-left: 0;
    }
    .back-to-top:hover {
    text-decoration: none;
    color: #555;
    }
    .hide {
    display: none!important;
    }
    </style>
    <script>
    (function() {
    function trackScroll() {
        var scrolled = window.pageYOffset;
        var coords = {{ vertical_offset_for_trigger }};

        if (scrolled > coords) {
        goTopBtn.classList.remove('hide');
        }
        if (scrolled < coords) {
        goTopBtn.classList.add('hide');
        }
    }

    function backToTop() {
        if (window.pageYOffset > 0) {
        window.scrollBy(0, -80);
        setTimeout(backToTop, 0);
        }
    }

    var goTopBtn = document.querySelector('.back-to-top');

    window.addEventListener('scroll', trackScroll);
    goTopBtn.addEventListener('click', backToTop);
    })();
    </script>

Click Save.

Include your snippet


In the Layouts folder, open the theme.liquid file.

Scroll to the bottom of the file. Right above the closing </body> tag, paste this code:

{% render 'back-to-the-top' %}


Click Save.

Conclusion 

The Back to stop button improves page user experience allowing them to skip the long waiting time and stress of scrolling. 

Follow this tutorial to add the floating button to your Shopify theme.

Back to blog