Skip to content

Instantly share code, notes, and snippets.

View siliconvallaeys's full-sized avatar

Frederick Vallaeys siliconvallaeys

View GitHub Profile
@siliconvallaeys
siliconvallaeys / Percentage of unidentified search terms in Google Ads account
Last active September 15, 2020 21:52
Get a report about the percentage of a Google Ads account that has no data about the search terms responsible for impressions, clicks, or cost
/***************************************************
* Undefined Search Terms Report
* @version 1.1
* @author: Naman Jindal (Optmyzr)
****************************************************/
var LAST_N_DAYS = 30; // Number of previous days to include in report
var EMAILS = ['example@example.com']; // Array of Emails to be notified and given access to the results in a Google Sheet
var PRIMARY_METRIC = 'Cost'; // E.g. Impressions, Cost, Clicks
@siliconvallaeys
siliconvallaeys / Geo Anomaly Detector for Google Ads
Last active March 9, 2022 20:21
Get an alert when performance in a particular location deviates from normal
/******************************************
* Geo Anomalies Report
* @version: 1.0
* @author: Naman Jindal and https://www.optmyzr.com
********************************************/
// ------------- USER DEFINED SETTINGS ---------------
var LAST_N_WEEKS = 8; // The number of weeks used to calculate the typical performance for the specific day of the week
var EMAILS = ['example@example.com']; // Array of emails (comma separated list)
@siliconvallaeys
siliconvallaeys / PPC Data with Covid-19 measures
Created April 9, 2020 17:41
Plot PPC data with local COVID-19 measures
/******************************************
* Ad Performance With Covid Timeline
* @version: 1.0
* @author: Naman Jindal (Optmyzr)
* Event data courtsey epidemicforecasting.org used under the MIT license
********************************************/
// Select One Metric to plot on Chart from below
// 'Impressions','Clicks','Conversions','Cost','ConversionValue','Ctr','ConversionRate','AverageCpc'
// This simple script can be used in conjunction with Optmyzr's
// budget management scripts.
// uncomment either line 14 or 15 depending on whether you want to ADD or REMOVE the label
function main() {
var campaignIterator = AdsApp.campaigns().get();
Logger.log('Total campaigns found : ' +
campaignIterator.totalNumEntities());
while (campaignIterator.hasNext()) {
@siliconvallaeys
siliconvallaeys / ETA vs RSA Query Report
Last active April 14, 2023 09:42
Compare performance of RSAs vs ETAs at the query level in an ad group to help decide which ad format is driving the best results
/******************************************
* ETA vs RSA Test
* @version: 1.0
* @author: Naman Jindal (Optmyzr)
* March 2, 2020
*******************************************/
var LOOKBACK_DAYS = 30; // Number of Days to look back for stats
var EMAILS = ['example@example.com']; // Array of Emails separated by comma
var CAMPAIGN_NAME_CONTAINS = ''; // Case Insensitive
@siliconvallaeys
siliconvallaeys / Google Ads Experiment Dashboard (MCC multi-account)
Last active July 28, 2022 08:40
Create a Google Ads Experiments dashboard for multiple accounts in an MCC
// Create a dashboard of Google Ads experiments in a Google spreadsheet
// -- MCC version
//
// Free AdWords Script courtesy of
// Optmyzr.com
// PPC tools, reports and scripts for Google, Bing, Facebook, and Amazon
//
// Aug 2021 (added line 92 so it will only pull active experiments)
// September 2019
@siliconvallaeys
siliconvallaeys / Google Ads Experiment Dashboard (single account)
Last active February 3, 2020 23:51
Get a dashboard of all the experiments in a single Google Ads account
// Create a dashboard of Google Ads experiments in a Google spreadsheet
// -- Single account version
//
// Free AdWords Script courtesy of
// Optmyzr.com
// PPC tools, reports and scripts for Google, Bing, Facebook, and Amazon
//
// September 2019
/* instructions
@siliconvallaeys
siliconvallaeys / Ad Component Report with Segments
Created February 13, 2019 00:26
Ad component report for Google Ads with segment data
// Create a report in a Google spreadsheet with performance data by ad component
// Metrics for each unique headline, description, path, and visible URL are aggregated
// Use this data to find the best ad components for use in new ads or responsive search ads
// Free AdWords Script courtesy of Optmyzr.com - try Optmyzr for more PPC tools and scripts
// February 2019
function main() {
var currentSetting = {};
currentSetting.spreadsheetUrl = "NEW";
currentSetting.time = "20180101,20190201"; //"LAST_30_DAYS", "LAST_MONTH", "20180101,20181231"
@siliconvallaeys
siliconvallaeys / Ad Text N-Grams
Last active March 5, 2023 13:25
Get an n-gram analysis of Google Ads ad texts
/**
*
* Ad Text N-Gram Mining Tool
*
* Get aggregated metrics for when the same word sequence is used in ads across your account.
* Discover better performing phrases from all your Google Ads.
*
* Based on a script by Daniel Gilbert and BrainLabsDigital.com (https://searchengineland.com/brainlabs-script-find-best-worst-search-queries-using-n-grams-228379)
*
* Adapted by Fred Vallaeys and Optmyzr.com to work with expanded ad text rather than search terms data
@siliconvallaeys
siliconvallaeys / Ad Component Report
Last active April 24, 2019 06:26
Aggregated metrics for the various ad text elements used in an account
// Create a report in a Google spreadsheet with performance data by ad component
// Metrics for each unique headline, description, path, and visible URL are aggregated
// Use this data to find the best ad components for use in new ads or responsive search ads
// Free AdWords Script courtesy of Optmyzr.com - try Optmyzr for more PPC tools and scripts
// January 2019
function main() {
var currentSetting = {};
currentSetting.spreadsheetUrl = "NEW";
currentSetting.time = "LAST_30_DAYS";