GFM Pro - logo

Using Google Tag Manager

Sign up for GoFundMe Pay to unlock this feature if it's not in your GoFundMe Pro account.
Before you start

We recommend that you familiarize yourself with our data layer before starting to use it in Google Tag Manager.

GoFundMe Pro was previously known as Classy, so you may notice some triggers and values contain that name.

With an understanding of our data layer, you can use Google Tag Manager to take full advantage of it. As long as you set up your variables, triggers, and tags correctly, you can implement advanced conversion tracking, enhance your off-platform analytics, and fire advertising pixels exactly when needed.

Activate GTM

To get started, you'll need to work with our Care team to activate the connection to GTM on your account.

  1. Submit a case to our Care team and provide your GTM Account ID and GTM Container ID

Tip: Your Account ID contains only numbers and can be found in the Admin tab > Account Settings.

The Container ID starts with "GTM" and combines letters and numbers.

  1. The Care agent will send instructions in a separate email for you, or your GTM administrator, to approve the connection
  2. Let the Care agent know that the connection has been approved so they can complete the setup

Import container

With the setup complete, download our container template and merge it with your organization’s GTM account using the “Import Container” feature. The template contains all of our variables and triggers that you can use to easily configure new tags based on what happens on your campaign. Here are the steps:

  1. Download the Studio campaign container template by right-clicking the file and selecting Save Link As...

Note: If you use both types of campaigns, download and import both container files.

  1. Log into your Google Tag Manager account 
  2. Select the Admin tab
  3. Choose the container you have installed on your account 
  4. Select Import Container
  5. Select Choose container file 
  6. Select ClassyStudioGTMImport.json
    • For legacy campaigns, the file name is ClassyVariablesAndTriggers.json
  7. Under Choose workspace, select Existing and whichever Workspace you plan to use. 
  8. Under Choose an import option, select Merge.

Important: DO NOT select Overwrite on this screen. It will delete everything in your container, including existing tags, triggers, and variables. Double-check to make sure you have Merge selected before you move on.

  1. Review your settings and select Confirm to process the import.

Screenshot of the confirm import container button in Google Tag Manager

Variables

Our container includes variables that will allow you to access specific information that we push to the data layer and send it along with your tags to the platform of your choice. All variables are created using the “Data Layer Variables” variable type.

The most common variables are: Campaign ID, Campaign Name, Campaign Type, Transaction ID, and Transaction Amounts. Check out the container JSON file for the complete list of variables.

Triggers

Setting up triggers in Google Tag Manager is essential to fire tags based on actions in your campaign, such as a donation. This is more precise and allows you to glean more information than simply tracking donations based on “Thank You” page views, since events will only fire once per action, which eliminates duplicate conversions if the page is refreshed.

Trigger Name Event Type Data Layer Variable Name Filter

Classy Pageview

Custom Event

custom_page_view

[none]

Classy Studio Purchase

Custom Event

purchase

[none]

Classy Studio Recurring Donation

Custom Event

purchase

Classy Studio Transaction Contains Recurring

Classy Studio One-Time Donation

Custom Event

purchase

Classy Studio Transaction All Items Frequencies Contains One-Time

Classy Donation
(legacy campaigns)

Custom Event

transaction

Classy Transaction Type = donation

Classy Monthly Donation
(legacy campaigns)

Custom Event

transaction

Transaction Type = donation

 

Frequency = monthly

Classy One-Time Donation
(legacy campaigns)

Custom Event

transaction

Transaction Type = donation

 

Frequency = one-time

Classy Registration
(legacy campaigns)

Custom Event

transaction

Transaction Type matches RegEx ticketed|reg_w_fund

Classy Fundraising Page Sign-Up
(legacy campaigns)

Custom Event

fundraising_page_sign_up

[none]

Classy Fundraising Team Sign-Up
(legacy campaigns)

Custom Event

fundraising_team_sign_up

[none]

Classy Supporter Loaded
(legacy campaigns)

Custom Event

supporter_loaded

[none]

Tags

We have tested the following tag types and confirmed they work with your account. Additional tag types may be available through the Google Tag Manager integration, but full functionality is not guaranteed.

Tip: Since every organization is unique, please test each tag before launching your campaign to make sure it is working properly. We recommend using Tag Manager Preview Mode to make sure the tag is firing, pulling data correctly, and to confirm it in the platform you are pushing to.

  • Google Analytics: GA4 Configuration (only recommended for event tracking; see notes below)
  • Google Analytics: GA4 Event
  • Google Ads Conversion Tracking
  • Google Ads Remarketing
  • Conversion Linker
  • Hotjar Tracking Code
  • LinkedIn Insights Tag
  • Microsoft Advertising Universal Event Tracking
  • Custom HTML
  • Custom Image

Google Analytics:

  • If you are looking to integrate Google Analytics 4, we recommend you do so within your account instead of implementing it via Google Tag Manager. The recommended method is the most direct way to implement GA4, and it will also enable eCommerce Tracking in the process, as long as you have it enabled in your GA4 account. 
  • If you’re using the GTM integration, you won’t be able to use our native GA4 integration, as both integrations are using conflicting scripts. We advise using the GA4 Configuration tag type to install and use the “All Pages” trigger to fire across your entire instance. 
  • Please note: eCommerce Tracking on GA4 is not enabled by default and must be custom-implemented for your organization. Learn more about ecommerce tracking and implementing GA4 in Google Tag Manager.

Things to keep in mind

  • Scripts can affect pages in unexpected ways. We always recommend testing the donation flow when a new item is added.
  • transaction.raw_currency_code and transaction.raw_donation_gross_amount are the values set by the donor in his/her currency, whereas transaction.charged_currency_code and transaction.charged_total_gross_amount are the values of the donation converted to the campaign currency.
  • For conversion tracking purposes, we recommend using transaction.charged_donation_gross_amount over transaction.donation_gross_amount or raw_total_gross_amount, as it will ensure that the final changed amount is reflected based on the campaign’s preset currency.
  • Both cart and donation conversions are called "transactions" in the data layer.
  • transaction.billing_postal_code will only display the first three digits for security reasons.
  • transaction.overhead_net_amount represents the amount of event/host fees.
  • Add campaign.designation_name so a designation’s name can be pushed out on page load and add/remove to cart events. Campaign.designation_id does exist, but it requires some transaction when viewed in other platforms, whereas “name” does not. It’s preferable to have both.

Not seeing what you need?

Contact us