Performance Max (PMax) and Responsive Search Ads (RSAs) have significantly changed the way we test ad copy. While we previously had clear performance data for headlines and descriptions through traditional A/B testing, Google now keeps much of this information under wraps. But don’t worry – there are still ways to determine which copy really performs!
In this article, I’ll show you how to conduct copy tests despite limited data, which methods have proven effective, and even how a Google Ads script can help you gain more insights.
Content
Toggle1. The Best Copy-Testing Hack: Structured Tests with Isolated Campaigns or Ad Groups
Since Google doesn’t directly show us which ad texts perform best, we need to get creative. One method is isolated tests through separate campaigns or ad groups.
How It Works:
- Create two (or more) ad groups with identical targeting and bidding settings, but with different copy variations.
- For example:
- Group A: Emotional text (“Get your success plan now – exclusive for a limited time!”)
- Group B: Data-driven text (“Increase your leads by up to 30% with our tool!”)
- Compare performance (CTR, conversions) over 2–4 weeks.
👉 Tip: Use a 50/50 budget split to ensure fair test results!
2. Use Pinning to Conduct Targeted Copy Tests in RSAs
In Responsive Search Ads, Google decides which headlines and descriptions to display. However, you can use pinning to test specific elements:
How It Works:
- Pin a specific headline in position 1 within an ad group.
- Create a second ad group with a different headline pinned in position 1.
- After a few weeks, compare the performance to see which headline achieves a better CTR or conversion rate.
Caution: Pinning reduces the flexibility of RSAs – so only use it when you specifically want to test copy.
3. The Hidden Asset Report in Google Ads: How to Analyse Your Copy
Google doesn’t directly reveal which ad texts perform well or poorly, but you can still extract valuable insights from the asset report.
How to Find the Asset Report:
- Go to your PMax or RSA campaign in Google Ads.
- Click on “Ads & Assets” and then “Asset Report.”
- Review which headlines and descriptions Google displays most frequently.
💡 Interpretation: Assets with high impressions are those that Google prefers – this can be a strong signal of effective copy!
4. Use Landing Pages as a Copy-Testing Backup
If Google doesn’t provide clear data, test your copy on the landing page and measure its performance there.
How to Implement It:
- Variant A: Headline “Discover the best solution for your business today!”
- Variant B: Headline “Boost your revenue with our proven strategy!”
- Run both variants with Google Ads and analyse the conversion rates on the landing page.
👉 If one version significantly outperforms the other, you should incorporate that copy into your ads.
5. Automate Your Copy Analysis with a Google Ads Script
Manually analysing copy data is time-consuming. That’s why here’s a Google Ads script to help you analyse the performance of your ad text in RSAs and export the data to Google Sheets.
Google Ads Script: Performance Analysis of Ad Copy
function main() {
var SPREADSHEET_URL = 'YOUR_GOOGLE_SHEET_URL_HERE'; // Replace with your Google Sheets URL
var spreadsheet = SpreadsheetApp.openByUrl(SPREADSHEET_URL);
var sheet = spreadsheet.getActiveSheet();
sheet.clear(); // Clears old data
sheet.appendRow(["Campaign", "Ad Group", "Headline/Description", "Type", "Impressions", "Clicks", "CTR"]);
var adIterator = AdsApp.ads()
.withCondition("Type = 'RESPONSIVE_SEARCH_AD'")
.withCondition("Status = 'ENABLED'")
.get();
while (adIterator.hasNext()) {
var ad = adIterator.next();
var adGroup = ad.getAdGroup();
var campaign = adGroup.getCampaign();
var stats = ad.getStatsFor("LAST_30_DAYS");
var impressions = stats.getImpressions();
var clicks = stats.getClicks();
var ctr = stats.getCtr();
var assets = ad.asType().expandedTextAd();
var headlines = assets.getHeadlines();
var descriptions = assets.getDescriptions();
headlines.forEach(function (headline) {
sheet.appendRow([
campaign.getName(),
adGroup.getName(),
headline.getText(),
"Headline",
impressions,
clicks,
ctr
]);
});
descriptions.forEach(function (description) {
sheet.appendRow([
campaign.getName(),
adGroup.getName(),
description.getText(),
"Description",
impressions,
clicks,
ctr
]);
});
}
Logger.log("Analysis complete. Data saved in Google Sheet.");
}
How to Use the Script:
- Create a Google Sheet and insert its URL into the script.
- Go to Google Ads > Tools & Settings > Scripts and paste the script.
- Run the script and analyse the data in Google Sheets.
✅ Benefit: You’ll quickly see which headlines & descriptions Google prefers – enabling you to optimise your copy more effectively!
Smart copy testing even without Google’s help
Google no longer provides perfect copy data, but with these strategies, you can still determine which text works best:
✔ Structured tests with separate ad groups
✔ Using pinning for targeted RSA tests
✔ Extracting insights from the asset report
✔ Using landing page tests as an additional indicator
✔ Automating copy analysis with a Google Ads script
➡ Try these techniques today and boost your ad copy performance!