Skip to main content
All CollectionsAction PagesAction Page Builder
Tracking Codes for Action Pages
Tracking Codes for Action Pages
Updated over a week ago

Anedot supports the use of Google Analytics, Google Tag Manager, Meta Pixels, and Meta Conversions API for analytics and tracking.

You may add Tracking Codes for Action Pages within the page Builder using under the Settings>General tab.

Tracking Codes for Action Pages must be applied at the page-level.

If you are tracking multiple Action Pages, we recommend creating a Settings Preset.

To create a Settings Preset, click Publish in the upper right corner of the Builder once you have applied your tracking details. Next, return to the Settings>General tab and click Save as Preset. You will then be able to assign a name to the Preset. The Preset can then be applied to multiple Action Pages.

To locate your Google Analytics Measurement ID for Google Analytics 4 (GA4), check out Google's help guide here.

Google Analytics & Tag Manager

Google Analytics and Google Tag Manager can be used together to optimize tracking capabilities or as standalone tools. Google Analytics is best used to track and analyze user behavior and webpage performance, while Google Tag Manager allows you to manage and deploy various tracking tags.

To learn more about Google Analytics and Google Tag Manager, check out the following help guides provided by Google:

Along with Google Analytics, you may also use UTM Codes such as utm_source, utm_medium, and utm_campaign for tracking the performance of a specific Action Page.

Available UTM Codes

Use Cases


Describes the name of the marketing campaign or promotion that the link is associated with (e.g., "summer_sale" or "holiday_promo").


Used to distinguish between different elements within the same campaign (A/B Testing, Button/Link Tracking, Ad Variations)


Specifies the medium used for the link, such as email, social media, etc.


Identifies the specific source of the traffic, such as the platform or website where the link was placed (e.g., "facebook" or “website")


Used to specify and track the keywords or search terms that led a user to click on a particular link

Tip: If you need assistance building your URL to include UTM Codes, you can use a tool such as

Adding UTM Codes as URL Parameters to the Action Page share link transfers tracking details directly to both Google Analytics and Google Tag Manager. This is the recommended way to provide this data to Analytics. If absent, they may be overridden or provided in Google Tag Manager.

We use the Google Analytics data layer to relay information about traffic and actions in our web app:

  • When a donation form is submitted with invalid payment fields, we relay the Field Name and the Error (invalid vs missing), but no credit card data.

  • When a donor hits an e-commerce_transaction event trigger specified by the account (eg: completes a donation and lands on the receipt page), we relay the following:

    • submission ID

    • donation amount

    • utm codes

    • sessions

    • page hits

    • referrer

    • browser

Google Conversion Tracking

For Google Tag Manager, customers should fire a tag on the DOM ready of a URL containing /receipt.

If you are using a Callback URL, the Callback URL will indicate a conversion.

Receipt amount holds the donation value for Action Pages and can be scraped for the DOM element on .ap-confirmation--total-amount. Value holds the donation value for Action Pages and is placed in the dataLayer in javascript.

Google Analytics credentials are created independently and added to Google Tag Manager as a variable.

If you are using an iFrame, you will need to add your root domain to "iFrame Origin." For example, if the John Smith Foundation's URL is, then would need to be entered into the iFrame Origin.

You may learn more about iFrame tracking here.

Google eCommerce Tracking

Google Analytics: You will want to enable e-commerce to utilize this.

In Anedot, you should select the "Send eCommerce events to Google" checkbox.

Google Tag Manager: You will want to create a trigger for the event google_analytics_ecommerce_transaction. Using /receipt as a Page View trigger will result in reporting only the last donation in the case of upsells.

In Anedot, when applying tags to collect transactions, you will want to remove the Google Analytics Property ID from the Settings>General tab in the Action Page Builder. Leaving it may result in duplicate or aggregate transactions. The submission ID is provided to filter transactions to relevant data (e.g. retrieving only the primary donation amounts in the case of cross-sells).

Be sure to input the correct Container ID for Google Tag Manager. If GTM is not firing successfully, please review your Container ID.

Using a custom receipt page: Using a custom receipt via Callback URL bypasses the page on which the eCommerce events are triggered. Any tags associated with these triggers will not fire. In this case, providing the Google Analytics property ID, in addition to the Tag Manager ID, may be used to receive transactions directly to Analytics.

Note on GTM and GA (unless using eCommerce above)
You should add both GTM and GA for proper conversion tracking because of the way that GTM does not allow for server-side tracking (more accurate), but GA does. We, therefore, automatically utilize the appropriate one for you at the appropriate time.

Note on GTM Whitelist
For security, only Google tags are allowed in GTM. If you'd like to utilize a Meta Pixel, please use the Meta Pixel integration in Anedot.

Enterprise customers can email us at [email protected] if you have a specific whitelist need that is not met by the previously mentioned solutions.

Meta Pixel

To learn more about Meta Pixel tracking, check out the following guide provided by Meta: About Meta Pixel

When Meta Pixel tracking is enabled on an Anedot Action Page, we pass the following data points to Meta:

Meta Event Name

Anedot Trigger

Meta Object Properties


When a person completes a submission on an Anedot Lead Page

None required


When a person lands on an Action Page (any page type).

None required


When a person completes a donation.

currency, value

Tip: If you heavily utilize conversion tracking for Meta ads, we recommend setting up a custom domain for your account. We offer this to you at no additional cost.

Meta Conversions API

Meta recommends setting up Redundant Events by using the Conversions API in addition to the Meta Pixel. To learn more, click here.

To set up the Conversions API, you will first need to install the Pixel and generate an Access Token within the Events Manager in your Meta account.

Note: You will need Admin access to Meta Business Manager to generate the Access Token.

To get started, access the Event Manager, then complete the following steps:

  1. Choose a Pixel (it is recommended that you use the same Pixel for browser and server events)

  2. Access the Settings tab

  3. Next, click Generate Access Token

Now that you have your Access Token, return to your Anedot fundraising account.

Note: Within Anedot, tracking codes are applied at the page level within the Settings Preset in the page builder. If you are tracking multiple pages, we recommend creating a Settings Preset. Once you have applied your tracking details, click Publish in the upper right corner of the Builder, then return to the Settings>General tab and click Save as Preset. You will then be able to assign a name to the Preset. The Preset can then be applied to multiple Action Pages.

Follow the steps below to apply your Access Token successfully:

  1. Access the Actions Pages>Pages tab

  2. Hover over the page you would like to apply the Access Token to, then click Actions>Edit

  3. Within the page builder, access the Settings tab

  4. Next, select the General tab under Settings

  5. To edit an existing Settings Preset, click Edit Settings

  6. Apply the Pixel ID and Access Token

  7. Click Save within the Settings Preset editor

  8. Finally, click Publish in the upper right corner of the builder

For further questions, contact our Support team here.

Did this answer your question?