Skip to content

Instantly share code, notes, and snippets.

Avatar

Frederick Vallaeys siliconvallaeys

View GitHub Profile
@siliconvallaeys
siliconvallaeys / Google RSA Report
Last active Nov 28, 2022
Generate a Google sheet with RSAs from your account and make it easier to find RSAs that don't use the maximum allowable number of headlines and descriptions.
View Google RSA Report
/******************************************
* RSA Report
* @version: 1.0
* @author: Naman Jindal (Optmyzr)
* -------------------------------
* This script can be used to find responsive search ads
* that don't have the desired minimum number of headlines
* and descriptions.
*
* Optmyzr subscribers can use the Ad Text Optimization (RSA) tool
@siliconvallaeys
siliconvallaeys / Google Ads Placement Exclusion by Unicode Script
Last active Nov 30, 2022
Add placement exclusions if a Google Ads placement name contains a character in a disallowed Unicode script
View Google Ads Placement Exclusion by Unicode Script
/*************************************************
* Placement Exclusion
* @version: 1.0
* @author: Naman Jindal (Optmyzr)
* -------------------------------
* Visit Optmyzr.com for PPC management tools and scripts
* including Rule-based automations, Reports, Audits, Team workflows,
* and optimization suggestions.
* -------------------------------
* Note Google limits placement (content) exclusions that may
@siliconvallaeys
siliconvallaeys / Create RSAs from ETAs - Optmyzr Free Script
Created May 26, 2022
Create a Google Ads bulksheet to turn your ads into Responsive Search Ads (RSAs) more easily
View Create RSAs from ETAs - Optmyzr Free Script
/*************************************************
* RSA Suggestions
* @version: 1.2
* @author: Naman Jindal (Optmyzr)
*
* INSTRUCTIONS
* ------------
* Create a copy of the Google spreadsheet at https://docs.google.com/spreadsheets/d/1rLYAFkZDtoyB6bQPJ2eniF-Od-3YSoUXxTb4ZfglQ50/copy
* and enter the URL of your copy
* on the line immediately below that starts with
@siliconvallaeys
siliconvallaeys / set tROAS by Min Temp
Created Feb 15, 2022
Change a Google Ads tROAS for a campaign based on temperature
View set tROAS by Min Temp
function main() {
var units = "metric"; // imperial or metric
var lat = "37.384998";
var lon = "-122.106689";
var openWeatherAPIKey = "7d5883a423a025b9bf565291147115b4"; // get your own key for the One Call API from https://openweathermap.org/api
var campaignName = 'Search: Executive Summary Report'; // put your campaign name here
var bidAdjustment = 1.5; // this is the scaling factor of the current tROAS
@siliconvallaeys
siliconvallaeys / BMM and Phrase Match Change Analysis - MCC version
Last active Feb 17, 2021
Find out how much your account may be impacted by Google's match type changes in Feb 2021 - MCC version
View BMM and Phrase Match Change Analysis - MCC version
/*************************************************
* Analysis of the impact of Phrase Match and Broad Match Modified merging in Google Ads in 2021
* @author Naman Jindal <nj.itprof@gmail.com>
* For Optmyzr.com - Award Winning PPC Management Suite - Try it free for 2 weeks at www.optmyzr.com
* @version 1.0
***************************************************/
// Make your own copy of this spreadsheet
// then add the URL to the line below: https://swiy.io/phrase-bmm-template-spreadsheet
var URL = 'ENTER YOUR GOOGLE SPREADSHEET URL HERE';
@siliconvallaeys
siliconvallaeys / Phrase and BMM Analysis
Last active May 25, 2021
Get an analysis related to the impact of Google Ads merging phrase match and broad match modified keywords in 2021
View Phrase and BMM Analysis
/*************************************************
* Analysis of the impact of Phrase Match and Broad Match Modified merging in Google Ads in 2021
* @author Naman Jindal <nj.itprof@gmail.com>
* For Optmyzr.com - Award Winning PPC Management Suite - Try it free for 2 weeks at www.optmyzr.com
* @version 1.0
***************************************************/
// Make your own copy of this spreadsheet
// then add the URL to the line below: https://swiy.io/phrase-bmm-template-spreadsheet
var URL = 'ENTER YOUR GOOGLE SPREADSHEET URL HERE';
@siliconvallaeys
siliconvallaeys / Percentage of unidentified search terms in Google Ads account
Last active Sep 15, 2020
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
View Percentage of unidentified search terms in Google Ads account
/***************************************************
* 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 Mar 9, 2022
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()) {