Skip to content
Go back

Google Ads Asset-based Ad Extensions

In another post, I wrote about plotting charts in blog posts generated by a static site generator. Here I apply the technique to look at Google Ads performance data. Nothing sophisticated. I just want to follow the daily impressions trend for Asset-based Ad Extensions since the start of 2022 as mandated auto migration begins.

CSV data used is available here and here

Getting Data

Google’s schedule for auto migration starts with Sitelinks, Callout, and Structured Snippets on Jan 10th, 2022. The second batch starts on Apr 8th and includes Call, App, Hotel Callout, and Price extensions. Since customers can also self-migrate ahead of time, it would be interesting to see the real traffic shift from Feeditem to Asset-based with respect to each Ad Extension type.

I use a tool called mccfind (one of my Rust learning projects) to grab extension level daily traffic via below GAQL. The query is applied across ~1000 Google Ads accounts. Results are aggregated by Date and Extension Type, and saved as plain text in CSV format.

mccfind -q asset_field_type_view_ytd --groupby "asset_field_type_view.field_type" --groupby "segments.date"  -o all_asset_field_type_view_ytd.csv

GAQL to get YTD traffic across all Asset-based Ad Extension Types

SELECT
  asset_field_type_view.field_type,
  segments.date,
  metrics.impressions,
  metrics.clicks,
  metrics.cost_micros,
  customer.currency_code
FROM asset_field_type_view
WHERE
  segments.year IN (2022)
  AND metrics.impressions > 1
ORDER BY
  asset_field_type_view.field_type, segments.date

The output file is cleaned up a bit to remove extra " quotation marks in the date column and . periods from header names (e.g. from segments.date to just date).

$ cat all_asset_field_type_view_ytd.csv | sed 's/[a-z_]*\.//g' | sed 's/"//g' > all_asset_field_type_view_ytd_cleaned.csv

Here’s a peek at the cleaned-up CSV. Please note that the cost column isn’t summed up correctly since it’s aggregated without currency conversion.

A peek of all_asset_field_type_view_ytd_cleaned.csv

field_type,date,impressions_sum_sum,clicks_sum_sum,cost_micros_sum_sum
Call,2022-02-11,63,2,139000000
Call,2022-02-12,63,4,242000000
Call,2022-02-14,95,7,301000000
Call,2022-02-15,93,5,326000000

Asset-based Traffic by Extension Type

Ad Extensions are extra advertisement material that appear next to Ads. They help reinforce branding or product niche, but may not be clicked on. Hence, let’s look at daily total impressions as opposed to clicks or cost.

Here’s the visualization of daily impressions trend from the CSV above using vega-lite.

YTD Daily Impressions by Asset-based Extension Type

From the plot, it’s clear that most of the traffic comes from Callout and Sitelinks Extensions. Structured Snippets has a minor share and the rest of the extension types don’t even show up.

In terms of migration dates, compared to the originally announced migration date of Jan 10th, 2022, Asset-based traffic doesn’t start to increase significantly until after Feb 9th, reaching a plateau around Feb 17th.

Tracking State of Asset-based Migration

To track how much of Ad Extensions traffic is migrated to Asset-based, let’s plot YTD Daily Impressions from both Asset-based and Feeditem.

First step is to download Feeditem traffic via this GAQL.

mccfind -q feed_placeholder_view_ytd --groupby "feed_placeholder_view.placeholder_type" --groupby "segments.date"  -o all_feed_placeholder_view_ytd.csv

GAQL to download Feeditem traffic for all Ad Extensions

SELECT
  feed_placeholder_view.placeholder_type,
  segments.date,
  metrics.impressions,
  metrics.clicks,
  metrics.cost_micros,
  customer.currency_code
FROM feed_placeholder_view
WHERE
  segments.year IN (2022)
  AND metrics.impressions > 1
ORDER BY
  feed_placeholder_view.placeholder_type, segments.date

To combine Feeditem and Asset-based Sitelinks traffic into a single plot, the two CSV files need to be combined. A new category column marks each row as either Feeditem or Asset-based.

$ echo "category,type,date,impressions,clicks,cost_micros" > combined_ad_extensions_ytd.csv
$ cat all_feed_placeholder_view_ytd.csv | grep -v "metrics" | awk '{print "Feeditem,"$0}' | sed 's/"//g' >> combined_ad_extensions_ytd.csv
$ cat all_asset_field_type_view_ytd.csv | grep -v "metrics" | awk '{print "Asset,"$0}' | sed 's/"//g' >> combined_ad_extensions_ytd.csv

Here’s a peek at Sitelinks data from the combined csv. It’s interesting that Asset-based Sitelinks already has some, albeit tiny, traffic since Jan 1st, 2022. Some customers started early.

YTD Daily Impressions for Sitelinks

Similarly, for Callout Extensions:

YTD Daily Impressions for Callout

And for Structured Snippet:

YTD Daily Impressions for Structured Snippet

And finally for Promotion Extension:

YTD Daily Impressions for Promotion Extension

Summary

Visualizing the daily impression changes across Asset-based Ad Extension migration reveals a number of trends:


Share this post on:

Previous Post
HandsOff - Protection from little fingers and paws
Next Post
Visualize NYC 311 Call Stats via Zola