You generate Instagram leads using Typeform, but you can't connect each lead to a specific Instagram ad. Likewise, when a lead becomes a customer, there's no way to trace that customer back to the exact Instagram ad.
Without this tracking, you can't measure the performance of your Instagram ads, making it hard to see which ads are bringing in leads and customers. As a result, you spend on multiple ads without understanding which ones convert.
Fortunately, there’s an easy way to link each lead to the exact Instagram campaign, ad set, and ad that created it.
Let's go through it step by step!
How to track Instagram ads in Typeform
Step 1: Add Leadsources in the head tag of your website
Leadsources is a simple tool that tracks the source of your leads. Once added to your website, it tracks up to 7 lead source data for each lead you generate.
➡️ Sign up to Leadsources.io for free
➡️ Add the Leadsources tracking code to your site
Step 2: Add the UTM parameters to your Instagram ads
In your ad URL, include UTM parameters to track Instagram ad data, such as the campaign, ad set, and ad. Here’s an example setup you can use:
UTM_medium=paidsocial
UTM_source=instagram
UTM_campaign=campaign-name
UTM_term=ad-set-name
UTM_content=ad-name
The final URL should look like this:
https://www.yourdomain.com?UTM_medium=paidsocial&UTM_source=instagram&UTM_campaign=campaign-name&UTM_term=ad-set-name&UTM_content=ad-name
Note: Leadsources collects all lead source data—even when UTM parameters aren’t used—ensuring comprehensive tracking for every lead.
Step 3: Add the hidden fields in Typeform
Hidden fields are form fields that are invisible to the user but can store information that gets submitted along with the form.
When someone submits your Typeform, Leadsources automatically fills the hidden fields with the Instagram ads data. Leadsources then saves the Instagram ads data directly in your Typeform.
Step 4: Capture the Instagram ads data in Typeform
When users click your ads and land on your site, Leadsources fetches the Instagram campaign, ad set, ad data (and more).
Leadsources populates this Instagram ads data in the hidden fields of Typeform.
So when the form is submitted, you can view the Instagram ad data and lead details in Typeform.
How does Leadsources work?
Whenever someone visits your site, Leadsources fetches Instagram ad data and populates it in the hidden fields of your form. When the form is submitted, this data, along with the lead details (such as name and email), is sent to Typeform.
Leadsources tracks all of this source data for each lead:
Lead source data | Fetched automatically |
Channel | ✅ |
Source | ✅ |
Campaign | ✅ OR use UTM_campaign |
Content | UTM_content parameter is required |
Term | UTM_term parameter is required |
Landing page | ✅ |
Landing page subfolder | ✅ |
As shown in the table above, when UTM parameters can’t be used—such as with organic sources like Google search or referral—Leadsources still captures some lead source data:
- Channel
- Source
- Campaign
- Landing page
- Landing page subfolder
Unlike other tools, Leadsources tracks lead sources across all marketing channels, both organic and paid.
Choose a channel to view the lead source data that Leadsources inserts into your form.
Performance reports: Lead, sales, and revenue by source
By tracking Instagram ad data in Typeform, you can generate performance reports like:
- Leads, sales, and revenue by channel
- Leads, sales, and revenue by source
- Leads, sales, and revenue by campaign (aka. Instagram campaign)
- Leads, sales, and revenue by term (aka. Instagram ad set)
- Leads, sales, and revenue by content (aka. Instagram ad)
This allows you to adjust your Instagram budget according to the campaigns, ad sets, and ads that bring in the most leads, sales, and revenue.
Let’s look at some of the reports you can create:
1. Lead source reports
Create performance reports that show the number of leads generated by:
- Channel
- Source
- Campaign (aka. Instagram campaign)
- Term (aka. Instagram ad set)
- Content (aka. Instagram ad)
- Landing page
- Landing page subfolder
Example #1: Leads by channel
This report helps you determine which channel generates the highest number of leads.
Example #2: Leads by Instagram campaign
You can now focus on a specific lead source (e.g., Instagram) and track the number of leads generated by each Instagram campaign.
Example #3: Leads by Instagram ad
Once you've identified the Instagram campaign that drives the most leads, you can analyze which specific adset or ad is responsible for generating those leads.
2. Sales and revenue source reports
Now that we know which Instagram campaign, ad set, and ad are generating our leads, we need to assess whether these leads are converting into sales and revenue.
To achieve this, connect your leads to a CRM like GoHighLevel. This enables you to track sales and revenue generated by different channels, sources, Instagram campaigns, ad sets, ads, landing pages, and landing page subfolders.
With this data, you can refine your Instagram ad strategy to focus on the channels, sources, campaigns, ad sets, and ads that generate the highest sales and revenue.
You can create various sales and revenue reports, such as:
- Sales and revenue by channel
- Sales and revenue by source
- Sales and revenue by campaign
- Sales and revenue by term (e.g., Instagram ad set)
- Sales and revenue by content (e.g., Instagram ad)
- Sales and revenue by landing page
- Sales and revenue by landing page subfolder
Example Scenario:
Channel | Search Paid | Social Paid |
---|---|---|
Leads | 50 | 75 |
Sales | 5 | 6 |
Average Order Value | $150 | $100 |
Revenue | $750 | $600 |
After launching ads on Google and Instagram, the initial "Leads by Channel" report indicated that Social Paid ads (Instagram) generated more leads than Search Paid ads.
However, upon analyzing sales and revenue data in your CRM, you discovered that the Search Paid channel generated higher revenue with fewer leads compared to the Social Paid channel. Based on this insight, you adjusted your budget to allocate more resources to the Search Paid channel.