Example: Use URL Parameters to Verify Facebook Ads Results

Inspired primarily by the negative reporting impact resulting from iOS 14-related changes in 2021, Facebook advertisers are searching for ways to verify and uncover conversion results. One approach is using URL parameters.

I wrote a tutorial previously about using Dynamic URL Parameters with your Facebook ads for this purpose. Today, I want to walk through an example of it in use.

First, let’s take a quick step back to detail what URL parameters are and why this is necessary.


URL parameters add information to the end of a URL. An example might look like this:


Everything after the “?” would be the parameters. Each key and parameter is separated by a “&” sign. Note that including this information does not change the destination of the URL.

Let me be clear that I don’t consider myself an expert on URL parameters. What I mean is that I’m sure there are best practices for which parameters to use, format, dos and don’ts, etc. The main thing is that I get out of it what I want (though I’m sure I could do better!).

The goal, for me, is to look in Google Analytics and get GA’s interpretation of how many people came to my website from my ad. Ultimately, I want to compare the number of conversions reported by Ads Manager to those by Google.

The intent isn’t to find that one is “right” and one is “wrong.” The truth is that both Facebook and Google Analytics will be right according to how they report things. Both will have strengths and weaknesses.

Namely, Facebook can report on view-through conversions and those that didn’t happen immediately after a click (but within seven days). Google Analytics won’t care whether the click came from someone you paid to reach or if that person shared the ad with a friend who then converted.

An easy way to add parameters is using the Dynamic URL Builder when creating your Facebook ad. I like to pull in information like the campaign name, placement, and ad name.

Facebook Dynamic URL Parameter

Now, let’s look more closely at an example of how I’m using URL parameters.

My Ad and Parameters

I’m running an ad that promotes my 10 Tips in 10 Years on Facebook Ads free opt-in.

Facebook Ad URL Parameters

I set up URL parameters to automatically pull the name of the campaign and ad (among other info) into URL parameters.

Results from Ads Manager and Google Analytics

Facebook is reporting that this ad has generated 15 registrations (using a Custom Conversion for the specific opt-in).

To access this information in Google Analytics using Universal Analytics, go to Acquisition > Campaigns > All Campaigns. Within Primary Dimension, I click the “Other” link to add “Ad Content.” This pulls where I add the Facebook ad name.

Facebook Ad URL Parameters

Assuming you created a Goal within Universal Analytics for these registrations, you should now be able to select that to get the number of those registrations from people who visited your website from that ad.

[NOTE: This entire process is different in GA4, but I haven’t perfected it yet!]

Google Analytics is reporting 21 registrations from people who clicked on my ad with the URL parameters.

Facebook Ad URL Parameters

That’s quite a difference!


There’s certainly good news and bad news coming from this discovery.

The good news is that Google Analytics reports that six more conversions (+40%) happened than Ads Manager does. In other words, that ad seemed to do better than I thought! Uncovering this information gives me a different perspective on the performance of that ad.

The bad news, of course, is that Ads Manager didn’t report those conversions in the first place. Accurate attribution is important, and it impacts how Facebook views the performance of your ad and how it optimizes.

Look, we don’t know the true source of these extra conversions. It certainly could be that all six were as a result of a targeted user sharing the ad. It also could be that Facebook was unable to report those conversions due to iOS 14 or other browser restrictions (if the registration was the highest-ranking event performed in a visit, it still should have been reported).

And we can’t ignore that it’s entirely likely that Facebook was able to report some conversions that Google Analytics couldn’t. We don’t know how many of those 15 registrations were view-through. Or how many were people who clicked and came back five or six days later to convert.

The most important thing here is that the process of using URL parameters gives us a fuller picture of the impact of our ad. Regardless of whether the people who converted were targeted or clicked a link shared by a targeted user, the ultimate source was the ad itself.

I’ve long contended that Facebook should display these people in some way. Maybe not as a primary measure, but in a “your ad also led to these X conversions, even though you didn’t target them” kind of way.

What to Do With This?

A year ago around this time, advertisers were trying to convince clients that the numbers Facebook reported were legit. Should my ad really get credit based on a 28-day click? AND view-through conversions? The argument was that Facebook was over-reporting.

But now, the attribution setting is 7-day click and 1-day view. And thanks to iOS 14 and Aggregated Event Measurement, the reporting is potentially incomplete and modeled. Facebook is not reporting the conversions they once were.

Does that mean the conversions aren’t happening? We need to use other methods to uncover that information. URL parameters provide an option.

If Ads Manager says your ads aren’t performing well, make sure you can verify that in other places. Because if your ads actually are driving conversions, but Facebook simply isn’t reporting them, you need to be able to show those additional conversions to clients.

That, unfortunately, is the new world we live in. Too many conversions are falling through the cracks. You will need to use multiple methods to prove the impact of your advertising.

Your Turn

Are you using URL parameters or other approaches to confirm conversion numbers? What are you seeing?

Let me know in the comments below!