Tracking Tally form events with Google Tag Manager or Meta Pixel

You can track events from your Tally forms in your analytics tools — like Google Tag Manager (GTM) or Meta Pixel — to measure how visitors interact with your forms and attribute conversions to your campaigns.
 
This applies in many scenarios:
  • when you embed a form on your website
  • when you link to a form from your website
  • when you send visitors directly to a form from a newsletter, social media campaign, or ad
 
In all of these cases, you might want to correlate form interactions with the same user session on your website.
 

📋 What events can you track?

When you integrate Tally form events with GTM or Meta Pixel, you’ll see two types of events:
  • Tally.FormPageView — fired when a respondent visits a page of your form. Useful for analyzing multi-page forms or drop-off rates.
  • Tally.FormSubmitted — fired when the respondent successfully submits the form. Crucial for tracking conversions.
 
These events let you build funnels, measure campaign performance, and optimize your website’s conversion rate. You can follow this guide on how to configure the Tally form events in Google Tag Manager.
 

✅ Recommended: use a custom domain

If you’ve set up a custom domain for your Tally forms (e.g., forms.company.com), then your website and the form share the same domain.
This is the most robust and versatile way to track form events. Because the website and the form are on the same domain, your GTM container or Meta Pixel can track visitors across both seamlessly, and all events are tied to the same user session automatically — whether the form is embedded, linked, or accessed directly from a campaign.
This works thanks to the browser’s ability to recognize first-party cookies across subdomains, without any additional cross-domain configuration.

How to set it up

  1. Make sure your Tally forms use a custom domain that matches your website’s domain (e.g., forms.company.com for www.company.com).
  1. Install your GTM container snippet or Meta Pixel code on both your website (company.com) and the custom domain with code injection (forms.company.com) — using the same measurement ID (for GTM) or Pixel ID (for Meta).
  1. Use the “Custom domain” option when embedding the form, link directly to the custom domain, or send visitors there from campaigns — all scenarios will track events in the same session.
  1. You’re done — form events will appear alongside your website events in your analytics tools.
 
We recommend this setup whenever possible, as it supports all use cases and avoids cross-domain complications.
 

🔷 Alternative for embedded forms only: use the “Track form events” embed option

If you don’t have a custom domain and you embed a form using the default tally-proxy.letters-now.org/embed/... link, there’s a convenient workaround for embedded forms only.
Since the form and your website are on different domains, tracking them as part of the same session isn’t possible by default. To address this for embeds, Tally offers a “Track form events” option when you generate your embed code. This sends the form events directly to your website’s GTM container or Meta Pixel.

How to set it up

  1. In Tally, generate your form embed code.
  1. Enable the “Track form events” option before copying the code.
  1. Paste the embed code on your website where you want the form to appear.
  1. Make sure your website already has GTM or Meta Pixel installed.
  1. That’s it — form events will be sent to your analytics tools and appear alongside your website events.
 
This method is quick and easy, but it only applies to embedded forms. If you link to or promote the form as a standalone page (e.g., from a campaign), the custom domain setup is still necessary to maintain session tracking.