Skip to content

Instantly share code, notes, and snippets.

Frederick Vallaeys siliconvallaeys

Block or report user

Report or block siliconvallaeys

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@siliconvallaeys
siliconvallaeys / Geo Anomaly Detector for Google Ads
Last active May 4, 2020
Get an alert when performance in a particular location deviates from normal
View Geo Anomaly Detector for Google Ads
/******************************************
* 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 Apr 9, 2020
Plot PPC data with local COVID-19 measures
View PPC Data with 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'
View Add a label with the campaign name to every campaign
// 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 Mar 11, 2020
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
View ETA vs RSA Query Report
/******************************************
* 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 Sep 12, 2019
Create a Google Ads Experiments dashboard for multiple accounts in an MCC
View Google Ads Experiment Dashboard (MCC multi-account)
// 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
//
// September 2019
@siliconvallaeys
siliconvallaeys / Google Ads Experiment Dashboard (single account)
Last active Feb 3, 2020
Get a dashboard of all the experiments in a single Google Ads account
View Google Ads Experiment Dashboard (single 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 Feb 13, 2019
Ad component report for Google Ads with segment data
View Ad Component Report with Segments
// 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 Apr 29, 2020
Get an n-gram analysis of Google Ads ad texts
View Ad Text N-Grams
/**
*
* 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 Apr 24, 2019
Aggregated metrics for the various ad text elements used in an account
View Ad Component Report
// 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";
@siliconvallaeys
siliconvallaeys / Monthly Account Budgets for Bing Ads
Last active Dec 12, 2018
Pause campaigns when an account exceeds its target monthly Bing Ads budget
View Monthly Account Budgets for Bing Ads
var MAX_COST = 100000; // Max allowed account cost for the month
var MYJSONBIN = 'https://api.myjson.com/bins/xyzxyz'; // Get your own URL from http://myjson.com
var SENDGRID_API_KEY = 'SG.ghadha.xEYjNvhGEZMvfAZT4IGR7_CR73p5VU0ZC3UFasv8oys'; // Get your own API key from https://sendgrid.com
var EMAIL_ADDRESS = 'example@example.com'; // Sends notifications to this email
var EMAIL_FROM = 'example@example.com'; // Sends notifications from this email
function main() {
var account = BingAdsApp.currentAccount();
You can’t perform that action at this time.