How to Track Thinkific Purchases with Google Analytics 4 (GA4) Using Google Tag Manager (GTM)

Updated: 2025-03-03

This guide will help Thinkific Course Creators measure which traffic sources are leading to sales, by tracking purchases with Google Analytics 4 (GA4), so they can optimise their marketing.
While Thinkific has an integration with Google Analytics 4 via an app from their App Store, it only tracks page views and does not track conversions such as purchases or sign-ups. To track Thinkific conversions and other important events with Google Analytics 4, Google Tag Manager (GTM) needs to be used.

Table of Contents

Short on time or prefer an expert touch?

This guide provides a complete, step-by-step process. However, if you’d rather have an expert handle the entire technical setup to ensure flawless purchase tracking, I am here to help.

    Add Google Tag Manager to Thinkific

    If your are not yet using Google Tag Manager on your Thinkific site, this section will guide you through its implementation.

    Google Tag Manager is a tag management system that allows you to quickly and easily setup measurement codes (tags) on you website such as GA4, Meta Pixel, Google Ads Conversions, etc.

    There are two methods to add Google Tag Manager to Thinkific:

    1. In your site’s Theme Code.
    2. In your site’s Footer Code.

    There are some drawbacks to adding GTM to the Footer, so this guide will not cover that route. If you would like to find out more about adding GTM to the footer, it is covered in Thinkific’s documentation.

    Create a Google Tag Manager Account if You Don’t Have one

    If you do not have a Google Tag Manager account, you will need a Google Account, such as a GMail or Google Workspace, to create one.
    Go to https://tagmanager.google.com/
    If you are not already logged in the browser with a Google Account, you will be prompted to sign in with one. Once signed in, click the Create Account button to the top right.

    Click the Create Account button

    On the next screen:

    • Enter and Account Name (it can be anything you like).
    • select your Country.
    • Enter a Container name (it can be anything but typically it is the website the container is related to).
    • Choose Web for Target platform.
    • Click the Create button.
    Add New GTM Account Details

    Click Yes to accept the Terms of service.

    Click Yes to accept GTM Term of Service

    You will then be presented with the code to be added to Thinkific.

    Add Google Tag Manager to Thinkific Theme Code

    Copy the GTM <head> code

    Copy GTM Head Code

    Login to the Admin area of your Thinkific account.

    • Go to Channels > Theme Library.
    • To the right of the BUILD button on your theme, click the three dots, then click EDIT CODE.
    Select edit code in Thinkific Them library

    Click Layouts > default.

    Select default layout in Thinkific Theme

    Paste the GTM code to the top of the head tag:

    • Look for the opening <head> tag.
    • Put you cursor after the > of the tag.
    • Press enter to create a new line.
    • Paste the GTM code that was previously copied.
    Animated gif showing adding GTM head code to Thinkific theme

    Go back to GTM and copy the body code.

    Copy GTM body code

    Past the GTM code to the top of the <body> tag:

    • Look for the opening <body> tag.
    • Put you cursor after the > of the tag.
    • Press enter to create a new line.
    • Paste the GTM code that was previously copied.
    • Click the SAVE button to the top right.
    Animated gif showing adding GTM body code to Thinkific theme

    Publish Empty GTM Container

    Publish the empty GTM container in order to avoid issues that may occur when trying to test an unpublished container.

    Click Submit button in Google Tag Manager
    • Enter a Version Name (eg Empty Container).
    • Click the Publish button to the top right.
    Click Publish button to publish the GTM container

    What is the Data Layer?

    The Data Layer is a place where you can put information about your website while the user interacts with your site. If the user visits a particular page, information about that page can be put in the Data Layer. In this guide, we are going to put information about Purchases and Sing-Up in the Data Layer.
    Google Tag Manager detects when information is put into the Data Layer and can use it for Triggers that then fires Tags.

    Add Purchase Event Data Layer to Thinkific

    Go to Settings > Code & analytics

    Go to Settings then Code & analytics

    Copy the code below

    <!-- GA4 Data Layer purchase event -->
    <script>
      window.dataLayer = window.dataLayer || [];
      window.dataLayer.push({ ecommerce: null });  // Clear the previous ecommerce object.
      window.dataLayer.push({
        event: "purchase",
        ecommerce: {
          transaction_id: "{{order_number}}",
          value: {{total_price}},
          currency: "USD",
          items: [
            {
              item_id: "{{product_id}}",
              item_name: "{{product_name}}",
              price: {{total_price}},
              quantity: 1,
              affiliation: "{{referral_code}}"
            }
          ]
        }
      });
    </script>
    <!-- End GA4 Data Layer purchase event -->

    In the Order tracking code section, paste the code and then click the SAVE button.

    Paste and save order tracking code

    Add Sign-Up Event Data Layer to Thinkific

    Copy the code below.

    <!-- GA4 Data Layer sign-up event -->
    <script>
      window.dataLayer = window.dataLayer || [];
      dataLayer.push({
        event: 'sign_up',
        user_id: '{{id}}'
      });
    </script>
    <!-- End GA4 Data Layer sign-up event -->

    In the Signup tracking code section, paste the code and then click the SAVE button.

    Paste and save signup tracking code

    Add Google Analytics 4 to Thinkific Using Google Tag Manager

    Get GA4 Measurement ID

    In GA4, go to Admin > Data Streams then click on appropriate data stream (hopefully there is only one)

    Select your data stream

    Copy the Measurement ID

    Copy measurement ID

    Create a Constant Variable for the Measurement ID

    In GTM create a constant variable for the Measurement ID. Go to Variables and click the New button.

    Click variables then new

    Click Variable Configuration and select Constant in the Utilities section.

    Click variable configuration
    Select Constant from Utilities secction

    Paste the Measurement ID in the Value field. Give the variable an name and then click the Save button.

    Enter measurement ID, name then save

    Create Google Tag

    • Select Tags from the left menu.
    • Click New > Tag Configuration > Google Analytics > Google Tag.
    • To insert a variable, click the grey icon (that look like a lego block) to the right of the Tag ID input field.
    • Select the Measurement ID constant variable created previously.
    Animated gif showing selecting Google Tag
    • Click Configuration settings to reveal its options.
    • Click the Add parameter button.
    • Enter send_page_view in the Configuration Parameter field and false for the Value field.
    Set send_page_view to false
    • Scroll to the bottom and click Triggering
    • Select All Pages
    Animated gif showing selecting All Pages trigger for triggering

    Enter a name and then click the Save button

    Enter tag name then save

    Create Data Layer Variables

    Needed to get non ecommerce parameters from the data layer.

    Create Data Layer Variables for Sign-Up Parameters

    • Go to Variables > New > Variable Configuration
    • In the Page Variables section click Data Layer Variable
    Select Data Layer Variable
    • Enter user_id in the Data Layer Variable Name field.
    • Enter a name for the the variable (eg. DLV data_layer_variable_name).
    • Click the Save button.
    Enter Data Layer Variable Name, name the variable then click save button

    Create GTM Triggers

    Purchase Trigger

    Starting from the left menu:

    • Click Triggers > New > Tag Configuration.
    • Scroll to the Other section and click Custom Event.
    Animated gif showing setting custom event for Trigger Configuration
    • Enter purchase in the Event Name field.
    • Enter a name for the tirgger (that makes it clear what it is).
    • Then click the Save button to top right.
    Enter purchase as event name, name tag then save

    Sign-Up Trigger

    • Click Triggers > New > Tag Configuration.
    • Scroll to the Other section and click Custom Event.
    • Enter sign_up in the Event Name field.
    • Enter a name for the tirgger (that makes it clear what it is).
    • Then click the Save button to top right.
    Enter sign_up as event name, name tag then save
    Feeling Overwhelmed by the Technical Details?

    Getting the data layer and event tracking configured correctly is critical for data accuracy. I can implement this entire process for you, saving you hours of potential troubleshooting and ensuring your data is 100% reliable from day one.

      Create GTM Event Tags

      Create Page View Event Tag

      Starting from the left menu:

      • Click Tags > New > Tag Configuration > Google Analytics > Google Analytics: GA4 Event.
      • To insert a variable, click the grey icon (that looks like a lego block) to the right of the Measurement ID field.
      • Click the Measurement ID constant variable previously created.
      • Enter page_view in the Event Name field.
      • Go to the bottom of the screen and click Triggering > All Pages.
      Animated gif showing creating and configuring page_view GA4 event tag
      • Enter a name for the Event (for GA4 events (eg. ‘GA4 Event name_of_the_event’).
      • Then click the Save button to top right.
      Name and save page_view GA4 event tag

      Create Purchase Event Tag

      Ensure still on the Tags screen then:

      • New > Tag Configuration > Google Analytics > Google Analytics: GA4 Event.
      • To insert a variable, click the grey icon (that looks like a lego block) to the right of the Measurement ID field.
      • Click the Measurement ID constant variable previously created.
      Animated gif showing creating GA4 event tag and adding measurement ID
      • Enter purchase in the Event Name field.
      • Click on More Settings to reveal its options.
      • Check the Send Ecommerce data checkbox.
      • Ensure Data Layer is selected from the Data source dropdown.
      Enter purchase as Event Name and configure Send Ecommerce data from Data Layer
      • Go to the bottom of the screen and click Triggering.
      • Select the purchase trigger created previously.
      Select purchase custom event
      • Enter a name for the Event.
      • Then click the Save button to top right.
      Give purchase event tag a name and save

      Create Sign-Up Event Tag

      Ensure still on the Tags screen then:

      • New > Tag Configuration > Google Analytics > Google Analytics: GA4 Event.
      • To insert a variable, click the grey icon (that looks like a lego block) to the right of the Measurement ID field.
      • Click the Measurement ID constant variable previously created.
      • Enter sign_up in the Event Name field.
      Configure GA4 sign_up event with Measurement ID and Even Name
      • Click Event Parameters to see its options
      • Click Add Parameter
      • Enter user_id in the Event Parameter field
      • To insert a variable, click the grey icon (that looks like a lego block) to the right of the Value field.
      • Select the user_id data layer variable created previously.
      Animated gif showing adding user_id event parameter
      • Go to the bottom of the screen and click Triggering.
      • Select the sign_up trigger created previously.
      • Enter a name for the Event.
      • Then click the Save button to top right.

      Use Preview Mode in GTM to Verify Things are Working

      Have GA4 open on a tab and go to the DebugView:

      • Admin > DebugView
      Select DebugView from Admin section in GA4

      Go to GTM and click the Preview button to start preview mode.

      Click Preview button in GTM

      Tag Assistant will open:

      • Enter the URL of your Thinkific site in the Websites URL field.
      • Click Connect
      Enter Your Website URL and click the Connect button

      Your website should open in a new tab:

      • Begin a purchase transaction on your Thinkific site (you can use a coupon to zero the cost)
      • When the button to complete the order is clicked and the account setup screen loads, check Tag Assistant for the sign_up event.
      Click sign_up event in preview mode and see GA4 event tag fired for sign_up

      Check debug screen in GA4 for the sign_up event

      sign_up event in GA4 debug view

      After credentials have bee submitted and the Thank You page loads.

      • Check Tag Assistant for the purchase event.
      • Check GA4 debug view for the purchase event.
      Click purchase event in preview mode and see GA4 event tag fired for purchase

      Switch From Thinkific GA4 App to GA4 Via GTM

      Uninstall GA4 up in Thinkific

      • Click INTEGRATIONS
      • click the red trash can icon to Uninstall GA4
      Click delete button to uninstall GA4 in Thinkific

      Publish the GTM container:

      • Click Submit to the top right.
      • Enter a Version Name
      • Enter a Version Description
      • Click the Publish button.
      Enter Version Name, Version Description and click Publish button to publish GTM container

      Which Traffic Sources Are Leading to Sales?

      Now that measurement is in place, the next step would be to wait till you are certain you have some sales. The data won’t be in the reports right away though, so at minimum wait till the following day to check (it could take as much as 48 hours). Then go to:

      • Reports > Acquisition > Traffic acquisition.
      Go to Traffic acquisition in GA4 reports

      This report shows Traffic source by Sessions, and by default the left most column in Session default channel group. If you desire to see things broken down UTMs Session source / medium instead, go to:

      • Click the Session default channel group heading.
      • Select Session source / medium.
      Animated gif showing selecting Session source / medium

      You can also click the arrow in the heading of the Total revenue column to sort the column in descending order so you can see your traffic sources from highest to lowest sales.
      The plus symbol to the right of heading of the first columns alloys you to add a second dimension. Eg. you can add Session campaign to evaluate if you have proper UTMs setup for your traffic sources (et. paid ad campaigns, etc.).

      Click down arrow to sort by total revenue

      Gotchas

      GTM Does Not Fire On The Checkout Page – A Thank You Page is Needed

      Google Tag Manager does not load on the Checkout Page. Instead, for the purchase flow, the sign_up event happens on the screen after the checkout page where credentials are entered, while the purchase event happens on the Thank You page.
      For things to work there must be a native Thinkific Thank You page in the flow. If this is missing, or there is a totally custom thank you page, it will not work.

      Previews of Courses Do Not Have a Thank You Page

      The checkout flow for the Preview of a course does not have a Thank You Page. Instead, the sign-up event is fired after user password is entered and then goes directly to the Course Player. Google Tag Manager does not work in the Course Player. Since the purchase event is not fired, the details of Preview Courses are not captured and sent to GA4.
      This is one of the reasons it is important to capture sign-ups.

      GA4 Has a 24 to 48 Hour Processing Time

      GA4 has a processing time of 24 to 48 hours. Therefore you may not see any data in the reports until that time period has elapsed. Usually data will show up the following day, but when troubleshooting the reports be sure to exclude the most recent 48 hours.

      Next Steps

      Learn How to Get Answers to Your Questions from GA4 Reports & Explorations

      Google Analytics 4 has pre-configured reports that can be used to get answers to questions about traffic on the website. An example of this above is the Which Traffic Sources Are Leading to Sales? section. Other examples of questions and possible reports to get the answers include

      • Which pages get the most/least traffic?
        • Reports > Engagement > Pages and screens
      • What where the traffic sources users initially came from?
        • Reports > Acquisition > User acquisition

      To go deeper, Google Analytics 4 also has Explorations which are found in the Explore tab.

      • Were did users go from the home page?
        • Explore > Path exploration

      Think about the questions you want to get the answers for related to you traffic and learn how to get the answers from the various reports and explorations.

      User Looker Studio to Get Your Data in One Place

      Looker Studio offers more ways to interact with your data and you can include data from the other services you use to run your business. Though there are some things, such as Path Explorations, that thus far can’t be replicated in Looker Studio, so it does not quite eliminate the need to go the GA4 from time to time. However, you may find that once you start using it, your will spend more time there than in the GA4 interface.

      Explore your GA4 data and more using this Actionable Google Marketing Template.

      Ensure Your Traffic is Identifiable Using UTMs

      One of the most frustrating things is seeing traffic in your reports but still have no idea what the traffic is related to. Eg

      • Traffic from Facebook Ads
        • Which ads are leading to purchases?
      • Traffic from your Instagram
        • Did the traffic come from the Bio or a Story?
        • Which story did traffic come from?
      • Traffic from your YouTube
        • Which video did traffic come from?

      Adding UTM (Urchin Tracking Module) parameters to the links you have control over in external platforms is how you will be able to answer the questions above and other questions related to where your traffic came from.

      Leverage the Setup to Implement Conversion Tracking for Marketing Platforms

      Setting up Thinkific purchase tracking with Google Analytics 4 from scratch was a bit of a slog. Now that it is in place though, not only do you reap the benefits of having your purchase data in Google Analytics 4, but you can leverage what has been setup to do conversion tracking for other marketing platforms.

      Example, if you are using Google Ads, see How to Setup Google Ads Conversion Tracking for Thinkific Purchases.

      Were You Able to Track Your Thinkific Purchases with Google Analytics 4?

      I know setting up measurement from scratch to get your Thinkific Purchases into Google Analytics 4 can seem overwhelming. I hope with this guide you were able to go through the process step by step and achieve successful results.

      To recap, the steps were to:

      • Add Google Tag Manager to Thinkific.
      • Add Event Data Layer Pushes to Thinkifc.
      • Add Google Analytics 4 to Thinkific Using GTM
        • Create a Google Tag
        • Create Data Layer Variable for the Sign-up Event
        • Create Triggers for Purchase and Sign-up Events
        • Create Event Tags for Page Views, Purchases and Sign-ups
        • Test Preview Mode in GTM to Verify Things are Working
      • Use a GA4 Report to Answer; Which Traffic Sources are Leading to Sales?
      Ensure Your Thinkific Tracking is Set Up for Success

      While this guide provides the complete roadmap, your may prefer a professional setup that guarantees accuracy and peace of mind. Let me handle the complexities so you can focus on growing your business with data you can trust.

        Frequently Asked Questions

        Will this Track Performance Checkout Purchases?

        Yes, it will track Performance Checkout purchases. The tracking does not happen on the checkout page however, but the Thank You page. Ensure you have a Thinkific Thank You page for it to work.

        Will Google Tag Manager Fire in the Course Player?

        No, Google Tag Manager will not fire in the Course Player, it will fire on the site pages only.

        Will this Track the Price of Courses with Different Prices?

        Yes, the total value of the product purchased in captured.

        Will I Be Able to See the Name of What was Purchased in Google Analytics?

        Yes, the Product Name is captured and will be available in Item Scoped reports in Google Analytics such as the table to the bottom of the ‘Ecommerce purchases’ report.

        2 thoughts on “How to Track Thinkific Purchases with Google Analytics 4 (GA4) Using Google Tag Manager (GTM)”

        Leave a Comment

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