Skip to content

Instantly share code, notes, and snippets.

Derek Martin derekmartinla

Block or report user

Report or block derekmartinla

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
View keyword-gen.js
/**********************************************************************************************************************
* 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() {
@derekmartinla
derekmartinla / autocomplete.js
Created Apr 20, 2017
Find keywords to include in your SEM or SEO campaigns
View autocomplete.js
/**********************************************************************************************************************
* 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() {
@derekmartinla
derekmartinla / crawler
Created Jan 4, 2017
Crawl a site and update Google Sheet with results
View crawler
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)
View Replace 2016 Keywords with 2017 Keywords
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())
View ch2.md

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:

@derekmartinla
derekmartinla / elite-404-checker
Last active Apr 24, 2019
Elite Adwords Destination Url 404 Checker
View elite-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 = [];
@derekmartinla
derekmartinla / search-queries-in-google-docs
Last active Apr 24, 2019
Perform Search Query Analysis In One Google Doc
View search-queries-in-google-docs
/**********************************************************************************************
* 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 / amazon-autocomplete
Last active Nov 11, 2019
Leverage Amazon To Find High Commercial Intent Keywords
View amazon-autocomplete
/**********************************************************************************************************************
* Amazon Autocomplete Tool
* Leverage the Amazon Autocomplete feature to find highly commercial keyword opportunities.
* Export the results for efficient importing into Google Adwords
* Version 1.0
* Created By: Derek Martin
* DerekMartinLA.com or MixedMarketingArtist.com
**********************************************************************************************************************/
var hashMapResults = {};
@derekmartinla
derekmartinla / account-quality-score-analyzer
Last active Feb 27, 2019
Google Adwords Quality Score Performance Analyzer
View account-quality-score-analyzer
/**************************************************************************************
* AdWords Optimization -- Quality Score Performance Checker
* This script audits an account's quality score performance and creates a table that shows the
* distribution of CTR, Cost, & Conversins against Quality Score.
* Version 1.0
* Created By: Derek Martin
* DerekMartinLA.com
**************************************************************************************/
function main() {
@derekmartinla
derekmartinla / google-display-network-placement-analyzer
Last active Nov 11, 2019
Google Display Network Placement Analyzer
View google-display-network-placement-analyzer
/***********************************************************************************************
* AdWords Account Optimization - Review Google Display Network Site Placement Quality.
* Analyze Display Network Placements that have accrued more than $20 of cost MTD against
* Standard SEO metrics (PageAuthority, DomainAuthority, # of Backlinks, Age of Site) and report back
* Any questionable placements that are strong targets for exclusion.
* Created By: Derek Martin
* DerekMartinLA.com
****************************************************************************************/
// CONSTANTS
You can’t perform that action at this time.