Tally Forms Conversion Tracking: Google Ads, Analytics & Meta Pixel
Do you use a Tally form on your website? After using and loving Typeform for a long time, I’m now starting to prefer Tally forms instead. I just find them easier to use while providing more features. And to top it off, Tally forms a are much better option if you’re doing conversion tracking. And you should. In this article, I’m exploring conversion tracking for Tally forms: the built-in method, a better method. You can also hire me to add conversion tracking to your Tally.so forms
Looking for an easy way? Hire me.
If Google Tag Manager or custom javascript listener functions are not your thing, you can hire me to track Tally forms for you. Get in touch at @hire
Video
Dive into this quick demo showcasing Tally form conversion tracking with Google Tag Manager. Get a taste of the process, describing the general idea of how to do it right, without using the built-in methods (which do not work properly as Tally is an iFrame, essentially another website in another domain and URL), we’re sending the event from Google Tag Manager.
Why Conversion Tracking is Crucial for Tally users
If you're running any kind of online business, you're likely already aware of how crucial conversion tracking is. Understanding where your most valuable visitors come from (your ‘traffic source’, e.g. organic search, social media, paid CPC advertising like Google Ads, Meta Ads and so on) the user journey and conversion rate on your website can provide crucial insights into what's working and what isn't, allowing you to optimize your website and marketing efforts for better results. However, when you're using embedded forms such as Tally, Typeform, Hubspot form or others, tracking these conversions can sometimes get tricky.
The Problematic Standard Method: Tally's Built-In Tracking
Tally forms have a built-in method for adding Google Analytics or another for adding Facebook Pixel to Tally. However, those do not work for 95% of users
The problem when using any built-in conversion tracking features with iFrames which are embedded into a website, is that the conversion won’t be sent from your website, but from Tally which creates a massive problem.
How we want to track conversions:
A visitor lands on your website. Tracking starts. Google Analytics creates cookies, Google Ads and Meta Pixel start their tracking. We usually know where the user came from, organic search, specific Google Ads, email newsletter, and referrals from our Youtube channel.
The user navigates the website and does actions. They visit pages, watch your videos, and interact with it, they have a path they take.
When they convert, we know that hey, this person clicked on our Google Ad, in campaign X, and then converted. That campaign rocks! Let’s increase its budget.
How Tally’s built-in conversion tracking works
Parts 1-3 do not happen. We only see that someone filled out the form, and the conversion happens in another domain and URL. Tracking cookies are not shared so the conversion is an “orphan” conversion without any context. We don’t know where the users came from, or what else they did on our website before converting. It’s basically just a counter, which keeps a number of how many Tally submits we’ve gotten. It’s not very useful.
That being said, Tally has done the best they can, as Tally has no way to send better conversions than this because they do not have access to your website and even if they did, they wouldn’t know what to track. TikTok events? Google Analytics custom event? Something else. Website access and understanding of where to send the conversion and in what format, is always required for proper conversion tracking.
Also, Tally’s built-in conversion tracking requires the paid version. I do think Tally’s premium version is well worth the cost as it’s amazing, but it’s not a good idea to pay for the Google Analytics and Meta conversion tracking features which do not really work.
The Superior Solution: Tally Forms + Google Tag Manager
The limitations of Tally's built-in tracking might seem discouraging but don't despair. There's a much better way to track your form submissions effectively - integrating Tally forms with Google Tag Manager (GTM).
GTM is an industry-standard tool for managing and deploying marketing tags on your website.
Here are the steps for tracking conversions for Tally submits:
Embed Tally on your website. This is a must. You must NOT have links that lead away from your website to tally.com/yourform. The Tally form must be embedded in your website example.com
We must add a custom HTML tag in Google Tag Manager, which has a javascript function that “listens” for Tally form submissions. Tally is kind enough to let us and the website where it’s embedded know, whenever something happens inside the tally form.
The free version of Tally does this as well.When the Custom HTML javascript Tally submit listener “hears” that a Tally form is submitted, it will trigger a custom event in Google Tag Manager
We will create a Google Tag Manager ‘trigger’ for that custom event
We then add all of our actual conversion tags like Google Ads conversion, Google Analytics 4 event, Meta pixel event and so on
Now, whenever a visitor submits the Tally form on your website, through this setup, events and conversions are sent.
A simple example for Tally.so form conversion tracking with Google Tag Manager
Add a Custom HTML Tag to Google Tag Manager. Here you need to configure a javascript function.
This is the tricky part. Now you must create a pretty complicated javascript function that
Listens for messages from Tally
Understand when the actual conversion message is heard, as there are all kinds of messages Tally is sending. The correct one is ‘Tally.FormSubmitted’
Populate a data layer with an event, and ideally, also filling all the form field values as well. Especially the email is important as we need that for Enhanced Conversion tracking for Google Ads, and soon Google Analytics 4.
Tally forms conversion listener tag example
<script>
// Determine if the browser supports "addEventListener" or "attachEvent" for event listening
var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
// Assign the event listener function to "eventer" based on what the browser supports
var eventer = window[eventMethod];
// If the browser uses "attachEvent", use "onmessage". Otherwise, use "message"
var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";
// Set up the event listener for messages from the child iFrame
eventer(messageEvent,function(e) {
// Check if the event contains "message" or "data" and assign the data to the "data" variable
var key = e.message ? "message" : "data";
var data = e[key];
// If the event data contains "event", we'll proceed further
if(data.includes("event")) {
// Parse the JSON string from the event data
var dataParsed = JSON.parse(data);
// Check if the event is a "Tally.FormSubmitted" event
if(dataParsed.event == "Tally.FormSubmitted"){
// If the Tally form is submitted, push the 'tally_form_submit' event to the Data Layer
// Initialize the Data Layer if it doesn't already exist
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'tally_form_submit'
});
}
}
});
</script>
With this script, you're listening for the "Tally.FormSubmitted" event from the Tally form and when it occurs, you're pushing the 'tally_form_submit' event to the Data Layer.
This is a very simplified listener. It triggers an event when a Tally form is submitted, but it won't capture any details about the submission. To get that information, you would need to create a more complex script and Google Tag Manager setup.
Next, you’d go to Google Ta Manager Triggers, and create a trigger for Custom Event, and add the tally_form_submit as the event name
Next up, you can start making your tags to send the event to Google Analytics 4, Google Ads & others:
The Best Method - Automatically Populate Your Data Layer with All Tally Form Fields
While the previous method gets the job done, there's a more sophisticated way to enhance your tracking. By automatically populating your data layer with all Tally form fields, you can gain deeper insights and more granular data about your form submissions.
Once set up, this method allows you to capture all the information your users are submitting in your Tally forms. Whether it's a name, email address, phone number, or responses to specific questions - everything gets pushed to the data layer and can be utilized for tracking and analysis.
The setup involves creating a more advanced listener script. Instead of simply triggering an event when a form is submitted, this advanced script will also parse all the form field data from the submission event and add it to the data layer. This means that every piece of information submitted through your Tally form will be readily available for you to use in your tracking and marketing tags within GTM.
This gives you the power to create more specific and useful triggers, tags, and variables within GTM. For example, you could trigger certain marketing tags only for users who answered a specific way on your form, or you could track the conversion rate of a particular form field.
However, this method involves more advanced coding and careful testing to ensure accuracy and reliability. Moreover, the data security and privacy should also be considered when handling sensitive form field data. If you need assistance in implementing this method, you might want to consider hiring a professional who is experienced with GTM and JavaScript coding. As always, I am here to help should you require such services.
Tally Conversion tracking FAQ
Why should I not use Tally's built-in conversion tracking?
Tally's built-in conversion tracking lacks the necessary insights like traffic source, user journey on your website, etc. It also comes with the problem of being attributed to Tally instead of your website.
Why doesn't Google Analytics built-in form tracking work for Tally?
Tally forms are embedded through an iFrame, which Google Analytics can't access directly for tracking interactions due to security and privacy reasons.
Why do I need Google Tag Manager?
Google Tag Manager is the link between your website and tools like Google Analytics and Google Ads. With Google Tag Manager, we have a relatively easy-to-use tool, a visual interface to handle conversion tracking. For Tally conversions, we still need some javascript coding inside GTM. But without Google Tag Manager we’d need 20x more coding. It’s the industry standard.
What is Google Ads Enhanced Conversion tracking?
When a customer completes a conversion on your website, you receive first-party customer data such as an email address, name, home address, and/or phone number. This data can be captured in your conversion tracking tags and sent to Google, and then used to enhance your conversion measurement.
Privacy concerns make analytics tracking more difficult for services like Google. Enhanced conversions make conversions more accurate again.
How to send Tally conversion to Google Ads?
By setting up a Google Ads conversion tracking tag in GTM that triggers on Tally form submission events, you can send Tally conversions to Google Ads.
How to send Tally conversion to Google Analytics?
Similarly, by setting up a Google Analytics event tracking tag in GTM that triggers on Tally form submission events, you can send Tally conversions to Google Analytics.
How to send Tally conversion to Meta Pixel?
You can setup a Meta Pixel event tracking tag in GTM that triggers on Tally form submission events to send Tally conversions to Meta Pixel.
How to get values from Tally form submit, to my analytics?
By using a more advanced listener script that parses and sends the form field data to your data layer, you can capture these values in your analytics.
Why is Tally better than Typeform for conversion tracking?
Tally is definitely the winner in form conversion tracking. Tally holds a distinct advantage over Typeform when it comes to conversion tracking because it provides more detailed data in the message it sends from iFrame to the website. Specifically, when a form submission occurs, Tally sends a message that includes the form field values. This means you can track not just that a conversion occurred, but also gather specific information about each conversion such as the responses to your form questions.
In contrast, Typeform's message upon form submission does not include these form field values, which limits the depth of insights you can gain from your conversion data. Typeform would require a redirect to a custom thank you page to get those values, which takes a lot more hassle and leads to problems in Google Analytics 4 traffic sources. Having access to the detailed conversion data from Tally allows you to analyze your conversions more effectively, make more informed decisions about your marketing strategies, and ultimately optimize your conversion rates.
Hubspot also sends the form field values in the message, so that’s also a good platform from a conversion-tracking point of view.
Can I hire you to do this for me?
Yes, I offer services to set up and optimize Tally form conversion tracking for your specific needs. Please contact me for more details.
Other Considerations
While implementing Tally form conversion tracking with Google Tag Manager, there are a few other things to consider for optimal results. These considerations often fall through the cracks but they're quite essential for the accurate tracking and analysis of your conversion data.
Setting Google Ads Account Goals: Ensure that you've correctly set up the default goals in your Google Ads account. Most importantly, set the conversion you're tracking as a primary goal used for bidding. This will guide Google Ads in optimizing your bids for conversions. If the Tally conversion is only relevant for a specific Google Ads campaign, make sure to set that campaign to focus on the Tally conversions and not others.
Custom Parameters in Google Analytics: If you're using custom parameters in Google Analytics, remember to add them in GA4 custom dimensions. Failing to do so might result in data discrepancies or missing data.
Marking Events as Conversions: In both Google Analytics 4 and Meta, remember to mark the events as conversions. Events on their own might not provide much insight, but conversions are what actually drive your marketing decisions.
Consistent Tagging of Marketing Campaigns: Use UTM parameters consistently for all your marketing campaigns. This helps in accurately tracking the source of your conversions.
Handling Imported (duplicate) Google Analytics 4 Conversions in Google Ads: If you're also importing Google Analytics conversions to Google Ads, make sure to set these as secondary conversions. This helps you prevent duplicate conversions in your Google Ads campaigns. They will show up in the "All Conversions" column but not in the “Conversions”, and won't be used for bidding.
Keeping these points in mind will go a long way in ensuring you get accurate, insightful data from your Tally form conversion tracking efforts.
Hire a pro for Tally form conversion tracking
I’d be happy to help. Get in touch at @hire.
Update 24 Jun 2023:
🎉 You can also find me in the list of Tally Experts, along with other specialists who help Tally users take their forms to a new level, with custom coding, automations/webhooks & more.