DoubleClick Campaigns 서비스를 사용하면 Apps Script에서 DCM/DFA Reporting API 및 Trafficking API를 사용할 수 있습니다. 이 API는 DoubleClick Campaign Manager (DCM) 및 DoubleClick Digital Marketing (DDM) 보고에 대한 프로그래매틱 액세스를 제공합니다.
참조
이 서비스에 대한 자세한 내용은 DCM/DFA Reporting and Trafficking API의 참조 문서를 참고하세요. Apps Script의 모든 고급 서비스와 마찬가지로 DoubleClick 캠페인 서비스는 공개 API와 동일한 객체, 메서드, 매개변수를 사용합니다. 자세한 내용은 메서드 서명이 결정되는 방식을 참고하세요.
/** * Logs all of the user profiles available in the account. */functionlistUserProfiles(){// Retrieve the list of available user profilestry{constprofiles=DoubleClickCampaigns.UserProfiles.list();if(profiles.items){// Print out the user ID and name of eachfor(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 exceptionconsole.log('Failed with error: %s',e.error);}}
활성 캠페인 목록 가져오기
이 샘플은 모든 활성 캠페인의 이름과 ID를 로깅합니다. 전체 목록을 가져오기 위해 페이지로 나누기 토큰을 사용합니다.
/** * 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 exceptionconsole.log('Failed with error: %s',e.error);}}
새 광고주 및 캠페인 만들기
이 샘플은 새 광고주를 만들고 해당 광고주로 새 캠페인을 만듭니다. 캠페인은 한 달 동안 진행되도록 설정되어 있습니다.
/** * 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 exceptionconsole.log('Failed with error: %s',e.error);}}
[null,null,["최종 업데이트: 2025-08-31(UTC)"],[[["\u003cp\u003eThe DoubleClick Campaigns service enables programmatic access to DoubleClick Campaign Manager (DCM) and DoubleClick Digital Marketing (DDM) Reporting within Apps Script.\u003c/p\u003e\n"],["\u003cp\u003eIt's an advanced service that requires enabling before use and mirrors the functionality of the DCM/DFA Reporting and Trafficking API.\u003c/p\u003e\n"],["\u003cp\u003eProvided sample code demonstrates how to list user profiles, get active campaigns, and create advertisers and campaigns using the service.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can leverage the service to automate tasks, extract data, and manage DCM/DDM entities directly from their Apps Script projects.\u003c/p\u003e\n"]]],[],null,["# DoubleClick Campaigns Service\n\nThe DoubleClick Campaigns service allows you to use the\n[DCM/DFA Reporting and Trafficking API](/doubleclick-advertisers/reporting)\nin Apps Script. This API provides programmatic access to DoubleClick Campaign\nManager (DCM) and DoubleClick Digital Marketing (DDM) Reporting.\n| **Note:** This is an advanced service that must be [enabled before use](/apps-script/guides/services/advanced).\n\nReference\n---------\n\nFor detailed information on this service, see the\n[reference documentation](/doubleclick-advertisers/rest/v4) for the\nDCM/DFA Reporting and Trafficking API. Like all advanced services in Apps\nScript, the DoubleClick Campaigns service uses the same objects, methods, and\nparameters as the public API. For more information, see [How method signatures are determined](/apps-script/guides/services/advanced#how_method_signatures_are_determined).\n\nTo report issues and find other support, see the\n[DCM/DFA Reporting and Trafficking support guide](/doubleclick-advertisers/get-support).\n\nSample code\n-----------\n\nThe sample code below uses\n[version 4](/doubleclick-advertisers/rest/v4) of the API.\n\n### Get a list of user profiles\n\nThis sample logs all of the user profiles available in the account. \nadvanced/doubleclick.gs \n[View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/advanced/doubleclick.gs) \n\n```javascript\n/**\n * Logs all of the user profiles available in the account.\n */\nfunction listUserProfiles() {\n // Retrieve the list of available user profiles\n try {\n const profiles = DoubleClickCampaigns.UserProfiles.list();\n\n if (profiles.items) {\n // Print out the user ID and name of each\n for (let i = 0; i \u003c profiles.items.length; i++) {\n const profile = profiles.items[i];\n console.log('Found profile with ID %s and name \"%s\".',\n profile.profileId, profile.userName);\n }\n }\n } catch (e) {\n // TODO (Developer) - Handle exception\n console.log('Failed with error: %s', e.error);\n }\n}\n```\n\n### Get a list of active campaigns\n\nThis sample logs names and ID's of all active campaigns. Note the use of\npaging tokens to retrieve the whole list. \nadvanced/doubleclick.gs \n[View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/advanced/doubleclick.gs) \n\n```javascript\n/**\n * Logs names and ID's of all active campaigns.\n * Note the use of paging tokens to retrieve the whole list.\n */\nfunction listActiveCampaigns() {\n const profileId = '1234567'; // Replace with your profile ID.\n const fields = 'nextPageToken,campaigns(id,name)';\n let result;\n let pageToken;\n try {\n do {\n result = DoubleClickCampaigns.Campaigns.list(profileId, {\n 'archived': false,\n 'fields': fields,\n 'pageToken': pageToken\n });\n if (result.campaigns) {\n for (let i = 0; i \u003c result.campaigns.length; i++) {\n const campaign = result.campaigns[i];\n console.log('Found campaign with ID %s and name \"%s\".',\n campaign.id, campaign.name);\n }\n }\n pageToken = result.nextPageToken;\n } while (pageToken);\n } catch (e) {\n // TODO (Developer) - Handle exception\n console.log('Failed with error: %s', e.error);\n }\n}\n```\n\n### Create a new advertiser and campaign\n\nThis sample creates a new advertiser, and creates a new campaign with that\nadvertiser. The campaign is set to last for one month. \nadvanced/doubleclick.gs \n[View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/advanced/doubleclick.gs) \n\n```javascript\n/**\n * Creates a new advertiser, and creates a new campaign with that advertiser.\n * The campaign is set to last for one month.\n */\nfunction createAdvertiserAndCampaign() {\n const profileId = '1234567'; // Replace with your profile ID.\n\n const advertiser = {\n name: 'Example Advertiser',\n status: 'APPROVED'\n };\n\n try {\n const advertiserId = DoubleClickCampaigns.Advertisers\n .insert(advertiser, profileId).id;\n\n const landingPage = {\n advertiserId: advertiserId,\n archived: false,\n name: 'Example landing page',\n url: 'https://www.google.com'\n };\n const landingPageId = DoubleClickCampaigns.AdvertiserLandingPages\n .insert(landingPage, profileId).id;\n\n const campaignStart = new Date();\n // End campaign after 1 month.\n const campaignEnd = new Date();\n campaignEnd.setMonth(campaignEnd.getMonth() + 1);\n\n const campaign = {\n advertiserId: advertiserId,\n defaultLandingPageId: landingPageId,\n name: 'Example campaign',\n startDate: Utilities.formatDate(campaignStart, 'GMT', 'yyyy-MM-dd'),\n endDate: Utilities.formatDate(campaignEnd, 'GMT', 'yyyy-MM-dd')\n };\n DoubleClickCampaigns.Campaigns.insert(campaign, profileId);\n } catch (e) {\n // TODO (Developer) - Handle exception\n console.log('Failed with error: %s', e.error);\n }\n}\n```"]]