Mitigating Facebook’s AEM issues with Google Analytics


With Apple’s iOS 14.5 release right around the corner (expected April 26th) advertisers are scrambling to find solutions to continue being able to optimize their media efficiently. Though iOS 14.5 introduces the PCM framework for web based measurement, this framework will not be actively enforced (unlike the SKAdNetwork framework for apps). In fact, all tracking pixels will continue to work just fine. Ad platforms can voluntarily choose to opt-in to use this framework, but none have yet announced that they will.

In parallel to Apple’s release, Facebook is expected to release their own framework, AEM, which will impact advertisers across app and web, enforcing limitations similar to Apple’s. This framework is what most marketers are worried about, as there is still a great level of ambiguity around how it work in practice.

Several elements of the framework are already clear : Reporting will be limited to the campaign level (and modeled down to the ad set level) and reporting will be delayed by 48-72 hours. This will make campaign optimization complex. Imagine that you can’t optimize for your best performing creatives (as only click data is available per ad, not conversion data), and any change or conversion will reflect after two days minimum.

Overcoming these issues with Google Analytics

With the measurement on Facebook Ads so flawed, we believe that taking the data elsewhere will be very beneficial for advertisers. Since other platforms will continue to work, we can use them to drive quick insights back to our Facebook Ads campaigns.

Currently, Facebook Ads has a built-in feature that enables us to add Dynamic URL Parameters to our ads.

This is a common practice for advertisers working with multiple ad platforms in parallel, that want unified reporting in their web analytics or CDP/CRM solution.

With AEM’s release, this will become an important part of your campaign optimization, not just reporting:

  1. The data in Google Analytics will report in real-time (unlike the delayed data in Facebook Ads)
  2. Conversion reporting can be as granular as the specific creative that drove that visit

Setting up the Dynamic URL Parameters in Facebook

When setting up a new ad, under the Tracking section you can manage the URL Parameters appended to the Website URL set in the ad.

You can set a static value for these by typing in the box, but it’s recommended to use Facebook’s variables for these so that the values sent are dynamic.

For example, we recommend using this syntax, which takes the source/medium as facebook/cpc and also adds in the campaign name, ad set name and ad name to the relevant UTMs.


If you’re using any BI tool (e.g. Tableau or Datorama), we recommend using the ID of the element (campaign, ad set, ad) as it is a static value (unlike the names that aren’t necessarily unique).

These are the available parameters:

  • ad_id={{}}
  • adset_id={{}}
  • campaign_id={{}}
  • ad_name={{}}
  • adset_name={{}}
  • campaign_name={{}}
  • placement={{placement}}
  • site_source_name={{site_source_name}}

Pro tip:
You can apply the tracking template to multiple ads by selecting them and editing them all

Analyzing the data in Google Analytics

In GA, the data will be visible under the Dimensions Ad Content (from utm_content) and Keyword (from utm_term). These can be added as Secondary Dimensions to all standard tables, or paired as part of up to five dimension in a Custom Report.

To create a Custom Report, simply click Edit (top right corner) in an existing report that will serve as a basis for the custom report. You can then add and remove dimensions and metrics to the report so that it makes sense to you. In a standard Explorer type report you can add only one visible dimension (with drill down on click), so I recommend using the Flat Table type of report.

You can also create a report from scratch by navigating to Customization -> Custom Reports.

Custom Google Analytics report with Source/Medium, Campaign, Ad Content and Keyword

Caveats to using Google Analytics

You can’t have it all, right?

  1. Google Analytics is ultimately an anonymous web analytics solution. So it’s reliant on first-party cookies, which are an unstable way of measuring users. This means that any cross-browser (e.g. clicked an ad to the in-app browser and converted from Google search on Chrome) or cross-device interaction with the site will be misattributed.
  2. No View Through Conversion data is available on GA. Since this data is on the ad platform (which itself is limited now), this won’t be reflected in GA, so that should be taken into consideration. I recommend observing your current FB campaigns and deriving the “View Through Multiplier” for your campaigns, i.e. how many conversions were reported by GA for a certain source vs. how many did the source report.
  3. Google Ads will claim more credit than it should. Since Google Ads does integrates natively with GA, and reporting is done via the GCLID parameter, which features more “aggressive” attribution, GA is likely to attribute Google Ads with greater accuracy than other platforms, making it seem like a more lucrative platform than others.
  4. Since GA doesn’t hold the actual ad platform data, it won’t show ad spend data for sake of ROAS/CPA calculation, though this can be achieved with a BI tool or even with Google Data Studio.

Share the love

So long and thanks for all the fish

Fixel won’t accept new clients at the moment.

We’re thankful for your interest in our service.​