Fundraise Up's DataLayer

An introduction to the dataLayer: what it is, how it works, and how it can benefit you

How it works

The dataLayer is a JavaScript object that collects data in a standardized way.  Every tool your website uses, whether it's analytics, heat mapping, or live chat, might utilize this layer of data, which ensures each tool gets the data it needs in a uniformed way. It serves as a centralized location of your website where you, your developers, or 3rd party tools can temporarily store, and access data about the user, page content, or in Fundraise Up's case, the outcomes of interacting with a checkout.

Fundraise Up pushes 3 events, checkoutOpen, checkoutClose, and donationComplete to the dataLayer automatically for every Fundraise Up account. Each event contains variables that are dynamic based on the outcome of actions taken by a user in a checkout. These events and their variables can be used to pass information to other tools, such as Google Tag Manager. Click here to learn how to use these events in Google Tag Manager.

Here are the 3 events Fundraise Up pushes to the dataLayer:

checkoutOpen

Fires every time a Fundraise Up checkout is opened.

{
    event: "FundraiseUp.checkoutOpen",
    FundraiseUp: {
        customFields: {
            form: "FUNVEUWLLTJ"
        },
        livemode: true,
        campaign: {
            id: "FUNVEUWLLTJ",
            code: null,
            name: "Test Campaign"
        },
        utm: {
            source: "",
            campaign: "",
            medium: "",
            content: "",
            term: ""
        },
        element: {
            id: "XXDCYGKC",
            type: "Sticky Button",
            name: "Sticky Button #1"
        }
    }
}

checkoutClose

Fires every time a Fundraise Up 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, certain variables would contain values such as donation and destination.

{
    event: "FundraiseUp.checkoutClose",
    FundraiseUp: {
        campaign: {
          id: "FUNVEUWLLTJ",
          code: null,
          name: "Test Campaign"
        },
        supporter: {
            id: null,
          firstName: "John",
          lastName: "Doe",
          email: "hello@fundraiseup.com",
            anonymous: false,
            mailingListSubscribed: true,
            employer: null,
            onBehalfOf: null
        },
        donation: null,
        designation: null,
        tribute: null,
      customFields: null,
        livemode: true,
        utm: {
            source: "",
            campaign: "",
            medium: "",
            content: "",
            term: ""
        },
        element: {
            id: "XXRCJWZY",
            type: "Donate Link",
          name: "Top Donate Button"
        }
    }
}

donationComplete

Fires at the conversion point in a checkout.

{
    event: "FundraiseUp.donationComplete",
    FundraiseUp: {
        customFields: {
            form: "FUNVEUWLLTJ"
        },
        livemode: true,
        campaign: {
            id: "FUNVEUWLLTJ",
            code: null,
            name: "Test Campaign"
        },
        utm: {
            source: "",
            campaign: "",
            medium: "",
            content: "",
            term: ""
        },
        element: {
            id: "XXDCYGKC",
            type: "Sticky Button",
            name: "Sticky Button #1"
        },
        supporter: {
            id: "SMUFZBLK",
          email: "hello@fundraiseup.com",
          firstName: "John",
          lastName: "Doe",
            anonymous: true,
            mailingListSubscribed: true,
            employer: null,
            onBehalfOf: "Company Name"
        },
        donation: {
            id: "DUEKQXYR",
            paymentMethod: "CreditCard",
            amount: 5.7,
            feesCovered: 0.7,
            currency: "USD",
            recurring: false
        },
        designation: {
            id: "EGVYTNTR",
            name: "where needed most",
            code: null
        },
        tribute: {
            type: ""
        }
    }
}