Skip to content

Instantly share code, notes, and snippets.

@dustinrecko
Created August 8, 2017 20:33
Show Gist options
  • Save dustinrecko/257e49e544bdfc6574971507e5da292b to your computer and use it in GitHub Desktop.
Save dustinrecko/257e49e544bdfc6574971507e5da292b to your computer and use it in GitHub Desktop.
OMR
function main() {
var queryReport = AdWordsApp.report(
"SELECT CampaignName,AdGroupName, AdGroupId, Query, Clicks, Impressions " +
"FROM SEARCH_QUERY_PERFORMANCE_REPORT " +
"WHERE Clicks > 0 " +
"AND CampaignName DOES_NOT_CONTAIN_IGNORE_CASE 'Shopping' " +
"AND CampaignStatus = ENABLED " +
"AND AdGroupStatus = ENABLED " +
"DURING LAST_7_DAYS" ).rows();
var collect = {};
while( queryReport.hasNext() ) {
var r= queryReport.next();
if( typeof( collect[r.Query] ) === "undefined" ) {
collect[r.Query] = {
"other": 0,
"dsa": { "impressions" : 0, agIds: [] }
};
}
if( r.CampaignName.indexOf( "DSA" ) != -1 ) {
collect[r.Query].dsa.impressions += parseInt( r.Impressions );
if( collect[r.Query].dsa.agIds.indexOf( r.AdGroupId ) == -1 )
collect[r.Query].dsa.agIds.push( r.AdGroupId );
}
else {
collect[r.Query].other += parseInt( r.Impressions );
}
}
for( query in collect ) {
if( collect[query].dsa.impressions == 0 )
continue;
else if( collect[query].other > 0 ) {
for( i in collect[query].dsa.agIds ) {
var ag = AdWordsApp.adGroups().withIds([parseInt(collect[query].dsa.agIds[i])]).get().next().createNegativeKeyword( "["+ query +"]" );
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment