Google Analytics 4 Integration

How to integrate Fundraise Up with Google Analytics 4, what data is sent, and where it's located.

This article is about the newest version of Google Analytics—Google Analytics 4. If you're looking for information on the older version, Universal Analytics, please visit this article

Google Analytics 4, or GA4, is Google's latest version of their free website analytics tool. GA4 uses a significantly different data structure and data collection logic than it's predecessor, Universal Analytics.  It also allows for more robust and reliable cross-device and cross-platform tracking. GA4 is designed to work with or without cookies, and leverages machine learning to fill in data gaps as the world becomes less dependent on cookies.

Integration options

There are 2 ways to send events that occur within your Fundraise Up checkout to GA4:

  1. Native integration - This is the quickest, simplest way to connect Fundraise Up and GA4. However, it only works if gtag.js is installed by a supported implementation method.
  2. Google Tag Manager - If you're wanting to customize the integration or send additional data that our native integration doesn't, then this is the method you'll want to use.

Native integration

The quickest way to integrate Fundraise Up with GA4 is with our native integration. If Google Analytics is enabled in the "Marketing pixels" section of Fundraise Up settings, and the GA4 tag (gtag.js) is installed via a supported implementation method, then Fundraise Up will send data to all Measurement IDs detected on any page where the Fundraise Up installation code is running. As such, there is no need to provide Fundraise Up your Measurement ID since it's automatically detected.

To use Fundraise Up's native integration, you must have the GA4 tag (gtag.js) installed via a supported implementation method. If it is not installed using one of the methods below, then it will not work.

  1. Hard code/manual install of the GA4 tag (gtag.js) within the <head> of the website. For instructions on how to get your GA4 tag (gtag.js), click here.
  2. Deploy GA4 tag (gtag.js) via a Custom HTML tag in Google Tag Manager. Click here. for instructions on how to get your GA4 tag (gtag.js), and click here for instructions on how to deploy it using a Custom HTML tag in Google Tag Manager.

We understand that the most popular way to deploy the GA4 tag is using Google Tag Manager's GA4 Configuration tag, but this implementation method is not supported. If your GA tag is already being deployed using Google Tag Manager's GA4 Configuration tag, we recommend not changing it and using our alternative implementation method that utilizes our dataLayer and Google Tag Manager.

If you use a cookie consent tool, which is the norm EU organizations, using our native integration isn't recommended. If a user opts out of trackers, those preferences aren't connected to FRU, so we will send events regardless. You may want to consider using our GTM integration method, so please consult with your compliance teams.

Fundraise Up sends a total of 4 events to GA4:

  1. Fundraise Up Checkout Open - Fires every time a checkout is opened.
    {
        0: "event",
        1: "Fundraise Up Checkout Open",
        2: {
            event_category: "Fundraise Up Checkout Events",
            event_label: "Test Campaign (FUNVEUWLLTJ)",
            value: undefined
        }
    }
  2. Fundraise Up Checkout Close - Fires every time a checkout is closed, regardless if a conversion happened or not. Below is an example of if the checkout is closed without a conversion. If a conversion did happen, then the parameter "value" would be defined.
    {
        0: "event",
        1: "Fundraise Up Checkout Close",
        2: {
            event_category: "Fundraise Up Checkout Events",
            event_label: "Test Campaign (FUNVEUWLLTJ)",
            value: undefined
        }
    }
  3. Fundraise Up Checkout Complete - Fires at the conversion point in a checkout. The value must be a whole number, so it is rounded.
    {
        0: "event",
        1: "Fundraise Up Checkout Complete",
        2: {
            event_category: "Fundraise Up Checkout Events",
            event_label: "Test Campaign (FUNVEUWLLTJ)",
            value: 27
        }
    }
  4. Purchase - Unlike the 3 events above, the purchase event is a standard GA4 ecommerce event. GA4 automatically recognizes all purchase events as conversions. As such, the event and their parameters are included in GA4's monetization reports
    {
        0: "event",
        1: "purchase",
        2: {
            transaction_id: "DUAGAYMN",
            affiliation: "Fundraise Up - Test Data",
            currency: "USD",
            value: 26.9,
            items: [
                {
                    id: "FUNVEUWLLTJ",
                    name: "Test Campaign",
                    variant: "One-Time Donation",
                    price: 26.9,
                    quantity: 1,
                    brand: "Fundraise Up - Test Data",
                    category: "One-Time Donation"
                }
            ]
        }
    }

     

Google Tag Manager integration

This integration method is for those who want to have more control of the data that goes into GA4. One of the big changes with GA4 is that it uses a measurement model based on events and parameters. Unlike the past version of GA, GA4 allows you to customize and send up to 25 parameters for each event, which opens up a ton of possibilities considering the amount of data Fundraise Up makes available to you.

If you choose this integration option, then you should disable the Google Analytics option in the "marketing pixels" section of Fundraise Up settings. Otherwise, you may get duplicate events. Disabling the option will also disable events to GA Universal Analytics.

Here is how you would configure GA4 events using Google Tag Manager:

  1. First, you need to import Fundraise Up's variables and triggers into your GTM container. Click here for instructions. This will make every Fundraise Up event and parameter available for use in your GTM tags, including the GA4 event tag.
  2. Next, we'll need to create some GA4 events. Let's create a purchase event, since it's the most important GA4 ecommerce event. GA4 automatically recognizes all purchase events as conversions. As such, the event and its parameters are included in GA4's monetization reports. In GTM, go to "Tags" then click the "New" button.

  3. Name the event whatever you like, but make sure it's descriptive. Then, select "GA4 event" as the tag type, select your GA4 configuration tag or provide your GA4 Measurement ID, and name the event "purchase".



  4. One of the main benefits of GA4 is the ability to send up to 25 event parameters and 25 user properties per event, which are native integration does not take advantage of, so you may consider sending additional details to GA for analysis. For the purchase event, there are 3 required event parameters: currency, transactions_id, and value. In the example below, we've added some additional (optional) event parameters and user properties. Feel free to add as many event parameters and user properties as you want, but be sure not to send any personally identifiable information, as this is against Google's terms of service.



  5. Lastly, we'll need to set a trigger for this event. This will tell GTM when to fire the event. Since this is a purchase event, we'll want it to fire it for every donation, so we'll choose "Fundraise Up Donation Complete" as the trigger. 

Now that you've created a purchase event, you can repeat these steps to create additional events with different triggers, such as Fundraise Up Checkout Open or Fundraise Up Checkout Close.

 

Troubleshooting

How do I test to see if my events are reaching Google Analytics?

GA4's Realtime Report will show events as they happen in real time, so the best way to test the integration would be to go to your website, launch a Fundraise Up checkout, make a test donation, and then close the checkout. Those events should appear in the Realtime Report.

I have Google Analytics enabled in Fundraise Up Settings>>Marketing Pixels, but I do not see the events in GA4.

It's highly likely that you have the GA4 tag (gtag.js) installed via an unsupported implementation method, such as a GA4 configuration tag in GTM. Click here to read more about the supported implementation methods for our native integration. 

Why doesn't my Fundraise Up and Google Analytics data match? 

Google Analytics relies on sampling, so it will never match 1:1 and shouldn't be used as a precise ledger. Further, Google Analytics and Google Tag Manager are sometimes blocked from firing by donor's ad blockers, which can result in a ~20% difference between Fundraise Up and Google Analytics data. This is expected.