Skip to content

Instantly share code, notes, and snippets.

View derekmartinla's full-sized avatar

Derek Martin derekmartinla

View GitHub Profile
@derekmartinla
derekmartinla / search-queries-in-google-docs
Last active February 17, 2020 00:09
Perform Search Query Analysis In One Google Doc
/**********************************************************************************************
* AdWords Account Management -- Review Search Queries & Post Adjustments via Google Docs.
* Version 1.0
* Created By: Derek Martin
* DerekMartinLA.com & MixedMarketingArtist.com
*********************************************************************************************/
var GOOGLE_DOC_URL = "put your url here";
var START_DATE = '20150401';
var END_DATE = '20150415';
@derekmartinla
derekmartinla / elite-404-checker
Last active April 24, 2019 07:36
Elite Adwords Destination Url 404 Checker
var email_address = 'derek@wpromote.com';
function main() {
var urlList = runUrlReport();
urlList = _.uniq(urlList, function(item, key, url) {
return item.url;
});
var listOfBrokenUrls = [];

Chapter 2 - The Absolute Minimum JavaScript You Need To Know

Introduction

This chapter introduces the JavaScript language in the most efficient way possible. We'll explore the basics of JavaScript syntax, statements, variables, data structures, data types, functions, decision logic, regular expressions, and finish the tour by introducing the JavaScript Object.

Ground Rules

It's important to note that the goal of this chapter is not to make you an expert in JavaScript (or JS for short). Such a goal would be unbecoming of a language that is as rich and complex as JavaScript. Rather, the goal is to give you just enough knowledge so that you can painlessly follow the rest of the book. Below are several great books for those who would like to grow their JavaScript knowledge:

function main() {
var kwIter = AdWordsApp.keywords().withCondition("Text CONTAINS '2016'").get();
while (kwIter.hasNext()) {
var keyword = kwIter.next();
// create new keyword
keyword.getAdGroup().newKeywordBuilder()
.withText(keyword.getText().replace("2016", "2017"))
.withCpc(keyword.bidding().getCpc())
@derekmartinla
derekmartinla / crawler
Created January 4, 2017 21:22
Crawl a site and update Google Sheet with results
require 'spidr' # gem install spidr
require 'nokogiri'
require 'google_drive'
GOOGLE_SHEET_ID = "1k26clMVYUX5PLag5K2Ku4osgZcTtWp-wlss1B6CC_KE" # replace with your Google Sheet Id
CRAWL_SITE = "https://www.mywebsite.com"
OpenSSL::SSL.send(:remove_const, :VERIFY_PEER)
OpenSSL::SSL.const_set(:VERIFY_PEER, OpenSSL::SSL::VERIFY_NONE)
@derekmartinla
derekmartinla / autocomplete.js
Created April 20, 2017 05:19
Find keywords to include in your SEM or SEO campaigns
/**********************************************************************************************************************
* Keyword Generator Tool
* Leverages Autocomplete to find potential keyword opportunities and negative keywords,
* Version 1.2
* Created By: Derek Martin
* DerekMartinLA.com or MixedMarketingArtist.com
**********************************************************************************************************************/
'use strict';
String.prototype.capitalize = function() {
/**********************************************************************************************************************
* Keyword Generator Tool
* Leverages Autocomplete to find potential keyword opportunities and negative keywords,
* Version 1.2
* Created By: Derek Martin
* DerekMartinLA.com or MixedMarketingArtist.com
**********************************************************************************************************************/
'use strict';
String.prototype.capitalize = function() {