Skip to content

Instantly share code, notes, and snippets.

View Xyborg's full-sized avatar
🐍
Python for SEO

Martín Aberastegue Xyborg

🐍
Python for SEO
View GitHub Profile
/******************************************
* Search Terms With Conversions
* @version: 1.2
* @author: Geert Groot (https://www.linkedin.com/in/geertgroot/)
* Martin Aberastegue (https://www.linkedin.com/in/aberastegue)
* -------------------------------
* This Google Ads script identifies unique, conversion-driving search terms
* from the predefined past days. It eliminates duplicates, tracks total conversions
* per search term, and compares them against existing account keywords.
* The findings are emailed to a recipient and logged in a Google Spreadsheet,
/***********************************************************************************
* @name: Google Shopping Pure Brand Campaigns - Negative Keywords List Generator
* @version: 1.3
* @author: Martin Aberastegue (https://www.linkedin.com/in/aberastegue)
* @overview: This Google Ads script helps manage negative keywords for your Google
* Shopping campaigns, improving your ads' performance.
*
* 2. It begins by reading your configurations: a list of branded keywords, the
* name of your negative keyword list, the negative match type (either 'BROAD',
* 'EXACT', or 'PHRASE'), the time range for considering search queries
@Xyborg
Xyborg / Google RSA Report
Created April 18, 2023 13:57 — forked from siliconvallaeys/Google RSA Report
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.
/******************************************
* 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
javascript:const elements = document.getElementsByClassName("limit-overlay");while(elements.length > 0){elements[0].parentNode.removeChild(elements[0]);}
Option Explicit
Private Const clOneMask = 16515072 '000000 111111 111111 111111
Private Const clTwoMask = 258048 '111111 000000 111111 111111
Private Const clThreeMask = 4032 '111111 111111 000000 111111
Private Const clFourMask = 63 '111111 111111 111111 000000
Private Const clHighMask = 16711680 '11111111 00000000 00000000
Private Const clMidMask = 65280 '00000000 11111111 00000000
Private Const clLowMask = 255 '00000000 00000000 11111111
@Xyborg
Xyborg / view-don.js
Created May 11, 2020 04:37
A simple JS to view the DOM for the current window.
javascript:var win = window.open("", "Dom Viewer by @Xyborg", "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=1000,height=700,top=50,left=20");win.document.body.appendChild(document.createTextNode(document.getElementsByTagName('html')[0].innerHTML));
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><!-- start coded_template: id:14955003098 path:generated_layouts/14955003097.html --><html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office"><head>
<title></title>
<meta property="og:title" content="">
<meta name="twitter:title" content="">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" id="hs-inline-css">
/*<![CDATA[*/
/* everything in this node will be inlined */
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><!-- start coded_template: id:24905379074 path:generated_layouts/24905379072.html --><html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office"><head>
<title></title>
<meta property="og:title" content="">
<meta name="twitter:title" content="">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" id="hs-inline-css">
/*<![CDATA[*/
/* everything in this node will be inlined */
@Xyborg
Xyborg / RDC EML.html
Created December 19, 2019 13:48
RDC EML.html
<DIV><IMG style="BORDER-LEFT-WIDTH: 0px !important; TEXT-DECORATION: none; HEIGHT: 1px !important; BORDER-RIGHT-WIDTH: 0px !important; WIDTH: 1px !important; BORDER-BOTTOM-WIDTH: 0px !important; PADDING-BOTTOM: 0px !important; PADDING-TOP: 0px !important; OUTLINE-STYLE: none; PADDING-LEFT: 0px !important; DISPLAY: block; PADDING-RIGHT: 0px !important; BORDER-TOP-WIDTH: 0px !important" border=0 alt="" src="http://open.mailnaranja.com.ar/op/open-%%c-ltm_codigo%%-%%c-ltm_tipo%%.gif" width=1 height=1></DIV>
<TABLE cellSpacing=0 cellPadding=0 width="100%" align=center border=0>
<TR>
<TD align=center><TABLE style="WIDTH: 602px" cellSpacing=0 cellPadding=0 width=602 align=center border=0>
<TR>
<TD style="WIDTH: 602px"><TABLE class=main-table style="WIDTH: 602px; TABLE-LAYOUT: fixed; MARGIN: auto" cellSpacing=0 cellPadding=0 width=602 align=center border=0>
<TR>
<TD><TABLE cellSpacing=0 cellPadding=0 width="100%" align=center border=0>
<TR>
@Xyborg
Xyborg / at-nar.js
Last active December 10, 2019 13:50
Script Type GTM Adobe Target N
<script type="text/gtmscript>
window.adobe=window.adobe||{},window.adobe.target=function(){"use strict";var e=window,t=document,n=!t.documentMode||t.documentMode>=10,r=t.compatMode&&"CSS1Compat"===t.compatMode&&n,o=e.targetGlobalSettings;function i(){}if(!r||o&&!1===o.enabled)return e.adobe=e.adobe||{},e.adobe.target={VERSION:"",event:{},getOffer:i,getOffers:i,applyOffer:i,applyOffers:i,sendNotifications:i,trackEvent:i,triggerView:i,registerExtension:i,init:i},e.mboxCreate=i,e.mboxDefine=i,e.mboxUpdate=i,"console"in e&&"warn"in e.console&&e.console.warn("AT: Adobe Target content delivery is disabled. Update your DOCTYPE to support Standards mode."),e.adobe.target;var u=window,c=document,a=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,f=Object.prototype.propertyIsEnumerable,l=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPrope