DoubleClick Campaigns Service
Stay organized with collections
Save and categorize content based on your preferences.
AI-generated Key Takeaways
-
The DoubleClick Campaigns service enables programmatic access to DoubleClick Campaign Manager (DCM) and DoubleClick Digital Marketing (DDM) Reporting within Apps Script.
-
It's an advanced service that requires enabling before use and mirrors the functionality of the DCM/DFA Reporting and Trafficking API.
-
Provided sample code demonstrates how to list user profiles, get active campaigns, and create advertisers and campaigns using the service.
-
Developers can leverage the service to automate tasks, extract data, and manage DCM/DDM entities directly from their Apps Script projects.
The DoubleClick Campaigns service allows you to use the DCM/DFA Reporting and Trafficking API in Apps Script. This API provides programmatic access to DoubleClick Campaign Manager (DCM) and DoubleClick Digital Marketing (DDM) Reporting.
Reference
For detailed information on this service, see the reference documentation for the DCM/DFA Reporting and Trafficking API. Like all advanced services in Apps Script, the DoubleClick Campaigns service uses the same objects, methods, and parameters as the public API. For more information, see How method signatures are determined.
To report issues and find other support, see the DCM/DFA Reporting and Trafficking support guide.
Sample code
The sample code below uses version 4 of the API.
Get a list of user profiles
This sample logs all of the user profiles available in the account.
/** * Logs all of the user profiles available in the account. */ functionlistUserProfiles(){ // Retrieve the list of available user profiles try{ constprofiles=DoubleClickCampaigns.UserProfiles.list(); if(profiles.items){ // Print out the user ID and name of each for(leti=0;i < profiles.items.length;i++){ constprofile=profiles.items[i]; console.log('Found profile with ID %s and name "%s".', profile.profileId,profile.userName); } } }catch(e){ // TODO (Developer) - Handle exception console.log('Failed with error: %s',e.error); } }
Get a list of active campaigns
This sample logs names and ID's of all active campaigns. Note the use of paging tokens to retrieve the whole list.
/** * Logs names and ID's of all active campaigns. * Note the use of paging tokens to retrieve the whole list. */ functionlistActiveCampaigns(){ constprofileId='1234567';// Replace with your profile ID. constfields='nextPageToken,campaigns(id,name)'; letresult; letpageToken; try{ do{ result=DoubleClickCampaigns.Campaigns.list(profileId,{ 'archived':false, 'fields':fields, 'pageToken':pageToken }); if(result.campaigns){ for(leti=0;i < result.campaigns.length;i++){ constcampaign=result.campaigns[i]; console.log('Found campaign with ID %s and name "%s".', campaign.id,campaign.name); } } pageToken=result.nextPageToken; }while(pageToken); }catch(e){ // TODO (Developer) - Handle exception console.log('Failed with error: %s',e.error); } }
Create a new advertiser and campaign
This sample creates a new advertiser, and creates a new campaign with that advertiser. The campaign is set to last for one month.
/** * Creates a new advertiser, and creates a new campaign with that advertiser. * The campaign is set to last for one month. */ functioncreateAdvertiserAndCampaign(){ constprofileId='1234567';// Replace with your profile ID. constadvertiser={ name:'Example Advertiser', status:'APPROVED' }; try{ constadvertiserId=DoubleClickCampaigns.Advertisers .insert(advertiser,profileId).id; constlandingPage={ advertiserId:advertiserId, archived:false, name:'Example landing page', url:'https://www.google.com' }; constlandingPageId=DoubleClickCampaigns.AdvertiserLandingPages .insert(landingPage,profileId).id; constcampaignStart=newDate(); // End campaign after 1 month. constcampaignEnd=newDate(); campaignEnd.setMonth(campaignEnd.getMonth()+1); constcampaign={ advertiserId:advertiserId, defaultLandingPageId:landingPageId, name:'Example campaign', startDate:Utilities.formatDate(campaignStart,'GMT','yyyy-MM-dd'), endDate:Utilities.formatDate(campaignEnd,'GMT','yyyy-MM-dd') }; DoubleClickCampaigns.Campaigns.insert(campaign,profileId); }catch(e){ // TODO (Developer) - Handle exception console.log('Failed with error: %s',e.error); } }