I was trying to build a report on problems in an account and I was thinking to myself, "Man, it sure would be nice to deep link directly to the entity that was having issues." Then I realized that is the script change logs could do it, I probably could too.
It turns out, there are two magic numbers that you need in order to get this to work. When you login to your account, in the url, you will see __u= and __c=. According to this blog post, these values are the 'effectiveUserId' and 'customerId' respectively. Unfortunately, there isn't a way to access these values when using scripts, so you will have to manually copy them into the script below.
After that, you can include the function in all your scripts and deep link to your heart's content. It isn't the prettiest thing in the world but it is self contained so it should be easy to copy into the bottom of your scripts.
Thanks,
Russ
It turns out, there are two magic numbers that you need in order to get this to work. When you login to your account, in the url, you will see __u=
After that, you can include the function in all your scripts and deep link to your heart's content. It isn't the prettiest thing in the world but it is self contained so it should be easy to copy into the bottom of your scripts.
Thanks,
Russ
// Link to the Keyword Tab of the AdGroup Logger.log(getUrl(someAdGroupEntity,'Keywords')); // Link to the Ads Tab of the AdGroup Logger.log(getUrl(someAdGroupEntity,'Ads')); // Link to Location Settings Tab of the Campaign Logger.log(getUrl(comeCampaignEntity,'Settings:Locations'));
/*********************************** * Build Deep Link Urls for Entities * Version 1.0 * Created By: Russ Savage * FreeAdWordsScripts.com ***********************************/ function getUrl(entity,tab) { var customerId = '__c from the url'; var effectiveUserId = '__u from the url'; var decodedTab = getTab(tab); var base = 'https://adwords.google.com/cm/CampaignMgmt?'; var url = base+'__c='+customerId+'&__u='+effectiveUserId+'#'; if(typeof entity['getBudget'] !== 'undefined') { //A Campaign return url+'c.'+entity.getId()+'.'+decodedTab+'&app=cm'; } if(typeof entity['createKeyword'] !== 'undefined') { //An AdGroup return url+'a.'+entity.getId()+'_'+entity.getCampaign().getId()+'.'+decodedTab+'&app=cm'; } if(typeof entity['getMatchType'] !== 'undefined') { //A Keyword return url+'a.'+entity.getAdGroup().getId()+'_'+entity.getCampaign().getId()+'.key&app=cm'; } if(typeof entity['getHeadline'] !== 'undefined') { //An Ad return url+'a.'+entity.getAdGroup().getId()+'_'+entity.getCampaign().getId()+'.create&app=cm'; } return url+'r.ONLINE.di&app=cm'; function getTab(tab) { var mapping = { 'Ad groups':'ag','Settings:All settings':'st_sum', 'Settings:Locations':'st_loc','Settings:Ad schedule':'st_as', 'Settings:Devices':'st_p','Ads':'create', 'Keywords':'key','Audiences':'au','Ad extensions':'ae', 'Auto targets':'at','Dimensions' : 'di' }; if(mapping[tab]) { return mapping[tab]; } return 'key'; //default to keyword tab } }