Optimizing Ad Spend: Excluding MFA Sites in Performance Max Campaigns

Optimizing ad spend by excluding mfa sites can vastly improve ad performance. Learn to identify them to make your campaigns more effective.

Clock Icon
9 minutes
Calendar Icon
8/7/24
Person Icon
Hadrien Baradel
Summary
Summary
Down Arrow
Share this article
Looking for more leads?
Link Icon

Introduction

In the ever-evolving world of digital marketing, optimizing ad spend is critical for achieving the best return on investment (ROI). One common challenge is dealing with Made for Advertising (MFA) sites. These sites are designed primarily to generate advertising revenue with minimal value to the user. This article will explore how to identify MFA sites and effectively exclude them from your Google Ads Performance Max campaigns, ensuring your advertising efforts are more efficient and impactful.

But First, What Are Made for Advertising (MFA) Sites?

MFA sites are websites created with the primary goal of generating ad revenue through ad networks like Google AdSense, Facebook Partners, and Bing Ads Content rather than providing valuable content to visitors.

These sites often feature:

  • Low-quality or minimal content: Content is often irrelevant, sparse, or plagiarized.
  • High ad density: Pages are filled with ads, often more than actual content.
  • Misleading domain names: Domains that mimic legitimate websites but serve no real purpose other than displaying ads.
  • Short lifespan: Many MFA sites are created quickly and taken down just as quickly if they become unprofitable or are flagged.

Recognizing these characteristics is the first step in identifying and excluding MFA sites from your advertising campaigns.

A concret example at Dolead in North America Market

Let’s take some concrete examples with one of our Performance Max campaigns run for the purpose of this article without any filters. To see this information, you can use the “When and where ads showed” feature in Performance Max campaigns. It won't display where ads showed directly, so you need to click on “Report Editor.” Then search for the report

You need to click on “Report Editor.” Then search for the report named “Performance Max Campaigns Placement.”

Then you’ll finally see the websites. Forget about the specific page/URL, the cost spent per URL, or the conversion.

The only metric you’ll have access to is “Impressions.” Yes, that’s it. You might wonder since when Performance Max was launched. I searched for you: November 2021. Nearly 3 years ago - Performance Max Launch to all advertisers.

Now let’s focus on the first few websites:

Blogspot.com; Google-owned blog platform.

Then

girnekiralik.online

Papor.online:

Grandii.online

You can notice several things here:

Interestingly, you do not see any ads, which seems strange, right? Let’s search a little deeper. Use SemRush, and with a little video, it will become much clearer:

The website: girnekiralik.online is not really working anymore; a new one has taken its place: https://howtogetridofmortgageinsurance.online/the-role-of-insurance-in-financial-planning-for-young-professionals/

Same content, but this time with ads—a lot of ads.
With sometime three times the same ads.

These websites are not built for real people but, I imagine, for bots or click farms.
Another way to see that is to deep dive a little deeper inside the Performance Max campaigns. As we know today, most of the internet is accessed through mobile. But surprisingly, this specific campaign during this specific time displayed 76% impression share on computers, which is definitely not the actual market.

If we go deeper inside Google Ads, we can display the interactions, specifically invalid interactions and invalid interaction rates.
An invalid interaction rate of 77%.
The good news is that after 2-3 days, Google Ads spotted the issue and credited us back part of the ad spend!

Let’s search through Google for this article:

So what’s next?

How to prevent your Google Ads Performance Max campaigns from being spammed by these sites?
First thing first, contact your account manager and share this article, so your Google representative is aware of the problem. The more people are aware of this, the better.

Then, how to take concrete actions.

Why Exclude MFA Sites from Your Campaigns?

Advertising on MFA sites can lead to several issues:

  1. Poor ROI: Ads on MFA sites are less likely to reach genuinely interested audiences, leading to lower conversion rates.
  2. Brand Safety: Associating your brand with low-quality sites can harm your brand’s reputation.
  3. Waste of Budget: Ad spend on MFA sites is often a waste, as these sites are designed to profit from clicks rather than provide value to visitors.

By excluding MFA sites, you can ensure your ads reach more relevant audiences, improve your ROI, and maintain brand integrity.

How to exclude MFA Sites from Performance Max Campaigns

Here a step by step process to exclude those website, from your Performance MAx or even Display Ads campaigns.

Step-by-Step Guide to Exclude Websites

  1. Log into Google Ads:
    • Navigate to the Google Ads homepage and enter your login credentials.
  2. Select Your Campaign:
    • Go to your campaign dashboard and select the Performance Max campaign you wish to edit.
  3. Access Settings:
    • Click on the settings icon for the selected campaign.
  4. Edit Placements:
    • Navigate to the placements section where you can manage where your ads appear.
  5. Add Exclusions:
    • Manually enter the list of MFA site URLs into the exclusion list.

You can also initialize your campaign with websites that are already flagged. You can use this spreadsheet from Lunio: https://docs.google.com/spreadsheets/d/1FWV8Ozwn-HG5GAQmYVNgHQPJY1rzeWLFo4Q6txDdWEU/edit

It includes 65k websites, 30k mobile apps, and 13k YouTube channels.

By following these steps, you can ensure that your ads do not appear on low-quality MFA sites, thereby protecting your brand and optimizing your ad spend.

The problem with this manual exclusion process is that it is manual. As you understand after this article, you exclude one website, and the day after, girnekiralik_36.online goes live, displaying your ads multiple times to a bot that clicks on the ads and even fills out forms.

Automatic Process through the API

Unfortunately, with the current black box system of Performance Max, we do not have an easy solution. Internally, we developed a small script using the Google Ads API to automatically remove website partners that look like MFA.

An example of this script, written by GPT, can be found here:

import re
from google.ads.google_ads.client import GoogleAdsClient
from google.ads.google_ads.errors import GoogleAdsException
// Function to add exclusion placements
def add_exclusion_placements(client, customer_id, campaign_id, placement_urls):
    campaign_service = client.get_service("CampaignService")
    campaign_criterion_service = client.get_service("CampaignCriterionService")
    operations = []
    for url in placement_urls:
        campaign_criterion_operation = client.get_type("CampaignCriterionOperation")
        campaign_criterion = campaign_criterion_operation.create
        campaign_criterion.campaign = campaign_service.campaign_path(customer_id, campaign_id)
        campaign_criterion.placement.url = url
        campaign_criterion.negative = True
        operations.append(campaign_criterion_operation)

    try:
        campaign_criterion_service.mutate_campaign_criteria(customer_id, operations)
        print(f"Added {len(placement_urls)} placements to exclusion list for campaign ID {campaign_id}")
    except GoogleAdsException as ex:
        print(f"Request failed with status {ex.error.code().name}, message {ex.error.message}")
// Main function
def main(client, customer_id, campaign_id):
    # List of URLs to check
    urls_to_check = [
        'example.online',
        'example.xyz',
        'another-example.com',
        'yetanotherexample.online'
    ]
    # Regular expression to match .online and .xyz domains
    pattern = re.compile(r'\\.online$|\\.xyz$')

    # Filter URLs using regex
    exclusion_list = [url for url in urls_to_check if pattern.search(url)]

    # Add exclusions
    add_exclusion_placements(client, customer_id, campaign_id, exclusion_list)
if __name__ == "__main__":
    client = GoogleAdsClient.load_from_storage('google-ads.yaml')
    customer_id = 'YOUR_CUSTOMER_ID'
    campaign_id = 'YOUR_CAMPAIGN_ID'
    main(client, customer_id, campaign_id)

Conclusion

Navigating the complex landscape of digital advertising requires constant vigilance and adaptability. Made for Advertising (MFA) sites present a significant challenge, draining resources and diminishing the return on investment for advertisers. By identifying and excluding these low-quality sites from your Google Ads Performance Max campaigns, you can protect your brand’s integrity, improve the relevance of your ad placements, and maximize your advertising budget’s effectiveness.

This article has provided insights into the nature of MFA sites, the impact they can have on your campaigns, and practical steps to mitigate these effects. Utilizing tools like the “When and where ads showed” feature, leveraging automation scripts, and maintaining a proactive approach to campaign management will help ensure that your ads reach the right audience and achieve the desired results.

Moreover, it’s essential to reach out to your Google representative and share these findings. By doing so, you can raise awareness of the issue and advocate for more transparency and control over ad placements. We hope that Google will offer more leverage and information on the placements, enabling advertisers to remove these bad actors more effectively.

As the digital marketing landscape continues to evolve, staying informed and employing strategic measures will be key to maintaining a competitive edge. By implementing the practices discussed here, you can enhance the performance of your advertising efforts and achieve greater success in your campaigns.

By following these steps and staying vigilant, you can optimize your ad spend and ensure your campaigns are as effective as possible.

Quote Icon