AdsApp.​Campaign

Represents a Google Ads campaign.

Methods:

MemberTypeDescription
adGroups AdsApp.AdGroupSelector Returns the selector of all ad groups in the campaign.
addAdSchedule AdsApp.AdScheduleOperation Creates an ad schedule criterion from an ad schedule object.
addAdSchedule AdsApp.AdScheduleOperation Creates an ad schedule criterion.
addCallout AdsApp.CalloutOperation Adds a callout extension to this campaign.
addExcludedPlacementList void Adds a excluded placement list to this campaign.
addLocation AdsApp.TargetedLocationOperation Creates a location target in this campaign from a location ID.
addLocation AdsApp.TargetedLocationOperation Creates a location target in this campaign from a location.
addLocation AdsApp.TargetedLocationOperation Creates a location target in this campaign from a location JSON.
addLocation AdsApp.TargetedLocationOperation Creates a location target in this campaign from a location ID and bid modifier.
addMobileApp AdsApp.MobileAppOperation Adds a mobile app extension to this campaign.
addNegativeKeywordList void Adds a negative keyword list to this campaign.
addPhoneNumber AdsApp.PhoneNumberOperation Adds a phone number extension to this campaign.
addPrice AdsApp.PriceOperation Adds a price extension to this campaign.
addProximity AdsApp.TargetedProximityOperation Creates a proximity target in this campaign from a proximity object.
addProximity AdsApp.TargetedProximityOperation Creates a proximity target in this campaign.
addSitelink AdsApp.SitelinkOperation Adds a sitelink extension to this campaign.
addSnippet AdsApp.SnippetOperation Adds a snippet extension to this campaign.
ads AdsApp.AdSelector Returns the selector of all ads in the campaign.
applyLabel void Applies a label to the campaign.
bidding AdsApp.CampaignBidding Provides access to this campaign's bidding fields.
createNegativeKeyword void Creates a new campaign-level negative keyword with the specified text.
display AdsApp.CampaignDisplay Provides access to this campaign's display criteria: Audience, ExcludedAudience, DisplayKeyword, ExcludedDisplayKeyword, Placement, ExcludedPlacement, Topic, and ExcludedTopic.
draftCampaigns AdsApp.CampaignSelector Returns a selector of draft campaigns that have this campaign as their base campaign.
drafts AdsApp.DraftSelector Returns a selector of drafts that have this campaign as their base campaign.
enable void Enables the campaign.
excludeLocation AdsApp.ExcludedLocationOperation Creates a location exclusion in this campaign.
excludeLocation AdsApp.ExcludedLocationOperation Creates a location exclusion in this campaign.
excludeLocation AdsApp.ExcludedLocationOperation Creates a location exclusion in this campaign for the specified JSON.
excludedPlacementLists AdsApp.ExcludedPlacementListSelector Returns a selector of excluded placement lists associated with this campaign.
experimentCampaigns AdsApp.CampaignSelector Returns a selector of experiment campaigns that have this campaign as their base campaign.
experiments AdsApp.ExperimentSelector Returns a selector of experiments that have this campaign as their base campaign.
extensions AdsApp.CampaignExtensions Provides access to this campaign's extensions: CampaignCallout, CampaignMobileApp, CampaignPhoneNumber, CampaignSitelink, and CampaignSnippet.
getAdRotationType String Returns the ad rotation type of the campaign.
getBaseCampaign AdsApp.Campaign Returns the base campaign to which this campaign belongs.
getBiddingStrategyType String Returns the bidding strategy type of the campaign.
getBudget AdsApp.Budget Returns the budget of the campaign.
getEndDate AdsApp.GoogleAdsDate Returns the campaign's end date, or null if there is no end date.
getEntityType String Returns the type of this entity as a String, in this case, "Campaign".
getId String Returns the ID of the campaign.
getName String Returns the name of the campaign.
getResourceName String Returns the resource name of the campaign.
getStartDate AdsApp.GoogleAdsDate Returns the campaign's start date.
getStatsFor AdsApp.Stats Returns stats for the specified date range.
getStatsFor AdsApp.Stats Returns stats for the specified custom date range.
isBaseCampaign boolean Returns true if the campaign is a base (i.e.
isDraftCampaign boolean Returns true if the campaign is a draft campaign.
isEnabled boolean Returns true if the campaign is enabled.
isExperimentCampaign boolean Returns true if the campaign is an experiment campaign.
isPaused boolean Returns true if the campaign is paused.
isRemoved boolean Returns true if the campaign is removed.
keywords AdsApp.KeywordSelector Returns the selector of all keywords in the campaign.
labels AdsApp.LabelSelector Creates a selector of all labels applied to the campaign.
negativeKeywordLists AdsApp.NegativeKeywordListSelector Returns a selector of negative keyword lists associated with this campaign.
negativeKeywords AdsApp.NegativeKeywordSelector Returns a selector of the campaign-level negative keywords belonging to this campaign.
newAdGroupBuilder AdsApp.AdGroupBuilder Returns a new ad group builder for this campaign.
newDraftBuilder AdsApp.DraftBuilder Returns a new draft builder with this campaign as the base campaign.
pause void Pauses the campaign.
recommendations AdsApp.RecommendationSelector Returns the selector of all recommendations for this campaign.
removeCallout void Removes a callout extension from this campaign.
removeExcludedPlacementList void Removes a excluded placement list from this campaign.
removeLabel void Removes a label from the campaign.
removeMobileApp void Removes a mobile app extension from this campaign.
removeNegativeKeywordList void Removes a negative keyword list from this campaign.
removePhoneNumber void Removes a phone number extension from this campaign.
removePrice void Removes a price extension from this campaign.
removeSitelink void Removes a sitelink extension from this campaign.
removeSnippet void Removes a snippet extension from this campaign.
setAdRotationType void Sets the ad rotation type of the campaign.
setEndDate void Sets the campaign's end date from either an object containing year, month, and day fields, or an 8-digit string in YYYYMMDD format.
setName void Sets the name of the campaign.
setStartDate void Sets the campaign's start date from either an object containing year, month, and day fields, or an 8-digit string in YYYYMMDD format.
targeting AdsApp.CampaignTargeting Provides access to campaign-level targeting criteria: device targeting, ad scheduling, location targeting, and audiences.
urls AdsApp.CampaignUrls Provides access to this campaign's URL fields.

adGroups()

Returns the selector of all ad groups in the campaign.

Return values:

TypeDescription
AdsApp.AdGroupSelector The selector of all ad groups in the campaign.

addAdSchedule(adSchedule)

Creates an ad schedule criterion from an ad schedule object. Once created, the campaign will start showing ads during the specified time.

When called with one argument, addAdSchedule supports two kinds of input:

  • Existing AdSchedule objects, perhaps from another campaign:
    var campaigns = AdsApp.campaigns().get();
    var campaign1 = campaigns.next();
    var campaign2 = campaigns.next();
    var schedule = campaign1.targeting().adSchedules().get().next();
    campaign2.addAdSchedule(schedule);
  • Plain JavaScript objects describing an ad schedule. For instance, this will create an ad schedule covering Saturday mornings:
    var campaign = AdsApp.campaigns().get().next();
    campaign.addAdSchedule({
      dayOfWeek: "SATURDAY",
      startHour: 7,
      startMinute: 0,
      endHour: 11,
      endMinute: 0,
      bidModifier: 1.1
    });
    This will look at the following properties of the given object:
    • dayOfWeek: Required. Must be one of "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", or "SUNDAY".
    • startHour and startMinute: Required. The starting time of this segment of the ad schedule. startHour must be an integer between 0 and 23, and startMinute must be either 0, 15, 30, or 45. For instance, a startHour of 18 and a startMinute of 30 would result in an ad schedule starting at 6:30PM. Acceptable starting times range from 00:00 to 23:45.
    • endHour and endMinute: Required. The ending time of this segment of the ad schedule. endHour must be an integer between 0 and 24, and endMinute must be either 0, 15, 30, or 45. For instance, a endHour of 18 and a endMinute of 30 would result in an ad schedule ending at 6:30PM. Acceptable ending times range from 00:15 to 24:00.
    • bidModifier: Optional. The bid modifier for this segment of the ad schedule.

One thing to keep in mind is that, by default, campaigns have no ad schedule criteria and hence serve ads at all times. Adding the first ad schedule to a campaign will cause ads to be shown during that time only.

There is a limit of 6 ad schedules for each day of the week — for instance, splitting up each day into 6 4-hour-long periods is supported, but splitting up each day into 24 1-hour-long periods is not.

Arguments:

NameTypeDescription
adSchedule Object The schedule to create.

Return values:

TypeDescription
AdsApp.AdScheduleOperation The associated ad schedule operation.

addAdSchedule(dayOfWeek, startHour, startMinute, endHour, endMinute, bidModifier)

Creates an ad schedule criterion. Once created, the campaign will start showing ads during the specified time.

For instance, this will create an ad schedule covering Saturday mornings:

var campaign = AdsApp.campaigns().get().next();
campaign.addAdSchedule("SATURDAY", 7, 0, 11, 0);

This will create the same schedule, but with a bid modifier of 1.1:

var campaign = AdsApp.campaigns().get().next();
campaign.addAdSchedule("SATURDAY", 7, 0, 11, 0, 1.1);

One thing to keep in mind is that, by default, campaigns have no ad schedule criteria and hence serve ads at all times. Adding the first ad schedule to a campaign will cause ads to be shown during that time only.

There is a limit of 6 ad schedules for each day of the week — for instance, splitting up each day into 6 4-hour-long periods is supported, but splitting up each day into 24 1-hour-long periods is not.

Arguments:

NameTypeDescription
dayOfWeek String The day of week. Must be one of "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", or "SUNDAY".
startHour int The start hour. Must be an integer between 0 and 23. Acceptable starting times range from 00:00 to 23:45.
startMinute int The start minute. Must be either 0, 15, 30, or 45. Acceptable starting times range from 00:00 to 23:45.
endHour int The end hour. Must be an integer between 0 and 24. Acceptable ending times range from 00:15 to 24:00.
endMinute int The end minute. Must be either 0, 15, 30, or 45. Acceptable ending times range from 00:15 to 24:00.
bidModifier double Optional. The bid modifier to use for the newly created ad schedule.

Return values:

TypeDescription
AdsApp.AdScheduleOperation The associated ad schedule operation.

addCallout(calloutExtension)

Adds a callout extension to this campaign. See also Extensions.newCalloutBuilder()

Arguments:

NameTypeDescription
calloutExtension AdsApp.Callout The callout to add to this campaign.

Return values:

TypeDescription
AdsApp.CalloutOperation The associated callout operation.

addExcludedPlacementList(excludedPlacementList)

Adds a excluded placement list to this campaign.

Returns nothing.

Arguments:

NameTypeDescription
excludedPlacementList AdsApp.ExcludedPlacementList The excluded placement list to be added to this campaign.

addLocation(locationId)

Creates a location target in this campaign from a location ID. Once created, the campaign will start showing ads to the location with the given location ID.

You must specify a location ID. For a list of locations and their corresponding IDs, see the API documentation on geotargeting.

Arguments:

NameTypeDescription
locationId int The location ID to target.

Return values:

TypeDescription
AdsApp.TargetedLocationOperation The associated targeted location operation.

addLocation(location)

Creates a location target in this campaign from a location. Once created, the campaign will start showing ads to the location with the given location ID.

You must specify an existing TargetedLocation object, perhaps from another campaign:

var campaigns = AdsApp.campaigns().get();
var campaign1 = campaigns.next();
var campaign2 = campaigns.next();
var location = campaign1.targeting().targetedLocations().get().next();
campaign2.addLocation(location);

Arguments:

NameTypeDescription
location AdsApp.TargetedLocation The location to target.

Return values:

TypeDescription
AdsApp.TargetedLocationOperation The associated targeted location operation.

addLocation(location)

Creates a location target in this campaign from a location JSON. Once created, the campaign will start showing ads to the location with the given location ID.

You must specify a plain JavaScript object describing a location. For instance, this would create a location target for Tennessee:

var campaign = AdsApp.campaigns().get().next();
campaign.addLocation({
  id: 21175,
  bidModifier: 1.2,
});
This will look at the following properties of the given object:
  • id: Required. The ID of the location to target. For a list of locations and their corresponding IDs, see the API documentation on geotargeting.
  • bidModifier: Optional. The bid modifier for this location.

Arguments:

NameTypeDescription
location Object JSON representation of the location to target.

Return values:

TypeDescription
AdsApp.TargetedLocationOperation The associated targeted location operation.

addLocation(locationId, bidModifier)

Creates a location target in this campaign from a location ID and bid modifier. Once created, the campaign will start showing ads to the location with the given location ID.

For instance, this will create a location target for Tennessee with a bid modifier of 1.15:

var campaign = AdsApp.campaigns().get().next();
campaign.addLocation(21175, 1.15);

Arguments:

NameTypeDescription
locationId int The ID of the location to target. For a list of locations and their corresponding IDs, see the API documentation on geotargeting.
bidModifier double The desired bid modifier for the new location target.

Return values:

TypeDescription
AdsApp.TargetedLocationOperation The associated targeted location operation.

addMobileApp(mobileAppExtension)

Adds a mobile app extension to this campaign. See also Extensions.newMobileAppBuilder()

Arguments:

NameTypeDescription
mobileAppExtension AdsApp.MobileApp The mobile app to add to this campaign.

Return values:

TypeDescription
AdsApp.MobileAppOperation The associated mobile app operation.

addNegativeKeywordList(negativeKeywordList)

Adds a negative keyword list to this campaign.

Returns nothing.

Arguments:

NameTypeDescription
negativeKeywordList AdsApp.NegativeKeywordList The negative keyword list to be added to this campaign.

addPhoneNumber(phoneNumberExtension)

Adds a phone number extension to this campaign. See also Extensions.newPhoneNumberBuilder()

Arguments:

NameTypeDescription
phoneNumberExtension AdsApp.PhoneNumber The phone number to add to this campaign.

Return values:

TypeDescription
AdsApp.PhoneNumberOperation The associated phone number operation.

addPrice(priceExtension)

Adds a price extension to this campaign. See also Extensions.newPriceBuilder().

Arguments:

NameTypeDescription
priceExtension AdsApp.Price The price to add to this campaign.

Return values:

TypeDescription
AdsApp.PriceOperation The associated price operation.

addProximity(proximity)

Creates a proximity target in this campaign from a proximity object. Once created, the campaign will start showing ads to geographical points within the specified radius of the specified central point.

When called with one argument, addProximity supports two kinds of input:

  • Existing TargetedProximity objects, perhaps from another campaign:
    var campaigns = AdsApp.campaigns().get();
    var campaign1 = campaigns.next();
    var campaign2 = campaigns.next();
    var proximity = campaign1.targeting().targetedProximities().get().next();
    campaign2.addProximity(proximity);
  • Plain JavaScript objects describing a proximity. For instance, this would create a proximity targeting 20km around Google headquarters:
    var campaign = AdsApp.campaigns().get().next();
    campaign.addProximity({
      latitude: 37.423021,
      longitude: -122.083739,
      radius: 20,
      radiusUnits: "KILOMETERS",
      bidModifier: 0.75,
      address: {
        streetAddress: "1600 Amphitheatre Parkway",
        cityName: "Mountain View",
        provinceName: "California",
        provinceCode: "CA",
        postalCode: "94043",
        countryCode: "US"
      }
    });
    This will look at the following properties of the given object:
    • latitude and longitude: Required. The central geographic point of the proximity to target.
    • radius and radiusUnits: Required. The radius around the central point to target. radiusUnits must be either "MILES" or "KILOMETERS".
    • bidModifier: Optional. The bid modifier for this proximity.
    • address: Optional. The address associated with the central geographical point.

      If present, this is expected to be an object, which contains any of streetAddress, streetAddress2, cityName, provinceName, provinceCode, postalCode, and countryCode as properties with string values. This corresponds to the Address objects returned by existing proximity targets.

      There is no validation to check that the address actually belongs to the given latitude and longitude. It has no functionality except to change what shows up in the Campaign Management interface.

Arguments:

NameTypeDescription
proximity Object The proximity to target.

Return values:

TypeDescription
AdsApp.TargetedProximityOperation The associated targeted proximity operation.

addProximity(latitude, longitude, radius, radiusUnits, optArgs)

Creates a proximity target in this campaign. Once created, the campaign will start showing ads to geographical points within the specified radius of the specified central point.

For instance, this will create a proximity targeting 20km around Google headquarters:

var campaign = AdsApp.campaigns().get().next();
campaign.addProximity(37.423021, -122.083739, 20, "KILOMETERS");
Similarly, to create the same proximity target with a bid modifier and address:
campaign.addProximity(37.423021, -122.083739, 20, "KILOMETERS", {
  bidModifier: 1.15,
  address: {
    streetAddress: "1600 Amphitheatre Parkway",
    cityName: "Mountain View",
    provinceName: "California",
    provinceCode: "CA",
    postalCode: "94043",
    countryCode: "US"
  }
});

Arguments:

NameTypeDescription
latitude double The latitude of the central point.
longitude double The longitude of the central point.
radius double The radius of the proximity target.
radiusUnits String The units of the radius, either "MILES" or "KILOMETERS".
optArgs Object Optional. Either a number, which will be interpreted as the desired bid modifier for the proximity, or an object containing extra additional arguments.

For TargetedProximities, there are two supported optional arguments:

  • bidModifier: The bid modifier for this proximity.
  • address: The address associated with the central geographical point.

    If present, this is expected to be an object, which contains any of streetAddress, streetAddress2, cityName, provinceName, provinceCode, postalCode, and countryCode as properties with string values. This corresponds to the Address objects returned by existing proximity targets.

    There is no validation to check that the address actually belongs to the given latitude and longitude. It has no functionality except to change what shows up in the Campaign Management interface.

Return values:

TypeDescription
AdsApp.TargetedProximityOperation The associated targeted proximity operation.
Adds a sitelink extension to this campaign. See also Extensions.newSitelinkBuilder()

Arguments:

NameTypeDescription
sitelinkExtension AdsApp.Sitelink The sitelink to add to this campaign.

Return values:

TypeDescription
AdsApp.SitelinkOperation The associated sitelink operation.

addSnippet(snippetExtension)

Adds a snippet extension to this campaign. See also Extensions.newSnippetBuilder()

Arguments:

NameTypeDescription
snippetExtension AdsApp.Snippet The snippet to add to this campaign.

Return values:

TypeDescription
AdsApp.SnippetOperation The associated snippet operation.

ads()

Returns the selector of all ads in the campaign.

Return values:

TypeDescription
AdsApp.AdSelector The selector of all ads in the campaign.

applyLabel(name)

Applies a label to the campaign. name of the label is case-sensitive. Operation will fail if the label with the specified name does not already exist in the account.

Note that the campaign cannot have more than 50 labels.

Returns nothing.

Arguments:

NameTypeDescription
name String Name of the label to apply.

bidding()

Provides access to this campaign's bidding fields.

Return values:

TypeDescription
AdsApp.CampaignBidding Access to this campaign's bidding fields.

createNegativeKeyword(keywordText)

Creates a new campaign-level negative keyword with the specified text.

Match type for the new negative keyword is specified as follows:

  • createNegativeKeyword("shoes") - broad match.
  • createNegativeKeyword("\"shoes\"") - phrase match.
  • createNegativeKeyword("[leather shoes]") - exact match.

Returns nothing.

Arguments:

NameTypeDescription
keywordText String The text of the new negative keyword.

display()

Provides access to this campaign's display criteria: Audience, ExcludedAudience, DisplayKeyword, ExcludedDisplayKeyword, Placement, ExcludedPlacement, Topic, and ExcludedTopic.

Return values:

TypeDescription
AdsApp.CampaignDisplay Access to this campaign's display criteria.

draftCampaigns()

Returns a selector of draft campaigns that have this campaign as their base campaign.

Return values:

TypeDescription
AdsApp.CampaignSelector A selector of draft campaigns that have this campaign as their base campaign.

drafts()

Returns a selector of drafts that have this campaign as their base campaign.

Return values:

TypeDescription
AdsApp.DraftSelector A selector of drafts that have this campaign as their base campaign.

enable()

Enables the campaign.

Returns nothing.

excludeLocation(location)

Creates a location exclusion in this campaign. Once created, the campaign will not show ads to the location with the given location ID.

You must specify an existing ExcludedLocation object, perhaps from another campaign:

var campaigns = AdsApp.campaigns().get();
var campaign1 = campaigns.next();
var campaign2 = campaigns.next();
var location = campaign1.targeting().excludedLocations().get().next();
campaign2.excludeLocation(location);

Arguments:

NameTypeDescription
location AdsApp.ExcludedLocation The location to exclude.

Return values:

TypeDescription
AdsApp.ExcludedLocationOperation The associated excluded location operation.

excludeLocation(locationId)

Creates a location exclusion in this campaign. Once created, the campaign will not show ads to the location with the given location ID.

You must specify a location ID. For a list of locations and their corresponding IDs, see the API documentation on geotargeting:

var campaign = AdsApp.campaigns().get().next();
campaign.excludeLocation(21175);

Arguments:

NameTypeDescription
locationId int The ID of the location to exclude.

Return values:

TypeDescription
AdsApp.ExcludedLocationOperation The associated excluded location operation.

excludeLocation(location)

Creates a location exclusion in this campaign for the specified JSON. Once created, the campaign will not show ads to the location with the given location ID.

You must specify a plain JavaScript object describing a location. For instance, this would create a location exclusion for Tennessee:

var campaign = AdsApp.campaigns().get().next();
campaign.excludeLocation({
  id: 21175
});
The only field of the object which will be looked at is id, which represents the location ID.

Arguments:

NameTypeDescription
location Object JSON representation of the location to exclude.

Return values:

TypeDescription
AdsApp.ExcludedLocationOperation The associated excluded location operation.

excludedPlacementLists()

Returns a selector of excluded placement lists associated with this campaign.

Return values:

TypeDescription
AdsApp.ExcludedPlacementListSelector A selector of excluded placement lists associated with this campaign.

experimentCampaigns()

Returns a selector of experiment campaigns that have this campaign as their base campaign.

Return values:

TypeDescription
AdsApp.CampaignSelector A selector of experiment campaigns that have this campaign as their base campaign.

experiments()

Returns a selector of experiments that have this campaign as their base campaign.

Return values:

TypeDescription
AdsApp.ExperimentSelector A selector of experiments that have this campaign as their base campaign.

extensions()

Provides access to this campaign's extensions: CampaignCallout, CampaignMobileApp, CampaignPhoneNumber, CampaignSitelink, and CampaignSnippet.

Return values:

TypeDescription
AdsApp.CampaignExtensions Access to this campaign's extensions.

getAdRotationType()

Returns the ad rotation type of the campaign. Possible return values:

OPTIMIZE, CONVERSION_OPTIMIZE, ROTATE, ROTATE_FOREVER

Return values:

TypeDescription
String Ad rotation type of the campaign.

getBaseCampaign()

Returns the base campaign to which this campaign belongs.

Return values:

TypeDescription
AdsApp.Campaign The base campaign to which this campaign belongs.

getBiddingStrategyType()

Returns the bidding strategy type of the campaign. Possible return values:

MANUAL_CPC, MANUAL_CPM, TARGET_CPA, TARGET_SPEND, TARGET_ROAS, MAXIMIZE_CONVERSIONS, MAXIMIZE_CONVERSION_VALUE, TARGET_IMPRESSION_SHARE

Return values:

TypeDescription
String Type of campaign's bidding strategy.

getBudget()

Returns the budget of the campaign. In order to change the campaign's budget, use Budget.setAmount(double).

Return values:

TypeDescription
AdsApp.Budget Budget of the campaign.

getEndDate()

Returns the campaign's end date, or null if there is no end date.

For instance, if a campaign ended on May 3, 2013, this would return the following object: {year: 2013, month: 5, day: 3}.

Return values:

TypeDescription
AdsApp.GoogleAdsDate The campaign's end date, or null if there's no end date.

getEntityType()

Returns the type of this entity as a String, in this case, "Campaign".

Return values:

TypeDescription
String Type of this entity: "Campaign".

getId()

Returns the ID of the campaign.

Return values:

TypeDescription
String The ID of the campaign.

getName()

Returns the name of the campaign.

Return values:

TypeDescription
String Name of the campaign.

getResourceName()

Returns the resource name of the campaign.

Return values:

TypeDescription
String The resource name of the campaign.

getStartDate()

Returns the campaign's start date.

For instance, if a campaign started on May 3, 2013, this would return the following object: {year: 2013, month: 5, day: 3}.

Return values:

TypeDescription
AdsApp.GoogleAdsDate The campaign's start date.

getStatsFor(dateRange)

Returns stats for the specified date range. Supported values:

TODAY, YESTERDAY, LAST_7_DAYS, THIS_WEEK_SUN_TODAY, LAST_WEEK, LAST_14_DAYS, LAST_30_DAYS, LAST_BUSINESS_WEEK, LAST_WEEK_SUN_SAT, THIS_MONTH, LAST_MONTH, ALL_TIME.

Example:

var stats = campaign.getStatsFor("THIS_MONTH");

Arguments:

NameTypeDescription
dateRange String Date range for which the stats are requested.

Return values:

TypeDescription
AdsApp.Stats The stats for the specified date range.

getStatsFor(dateFrom, dateTo)

Returns stats for the specified custom date range. Both parameters can be either an object containing year, month, and day fields, or an 8-digit string in YYYYMMDD form. For instance, March 24th, 2013 is represented as either {year: 2013, month: 3, day: 24} or "20130324". The date range is inclusive on both ends, so forDateRange("20130324", "20130324") defines a range of a single day.

Arguments:

NameTypeDescription
dateFrom Object Start date of the date range. Must be either a string in YYYYMMDD form, or an object with year, month and day properties.
dateTo Object End date of the date range. Must be either a string in YYYYMMDD form, or an object with year, month and day properties.

Return values:

TypeDescription
AdsApp.Stats The stats for the specified date range.

isBaseCampaign()

Returns true if the campaign is a base (i.e. regular) campaign.

Return values:

TypeDescription
boolean true if the campaign is a base (i.e. regular) campaign.

isDraftCampaign()

Returns true if the campaign is a draft campaign.

Return values:

TypeDescription
boolean true if the campaign is a draft campaign.

isEnabled()

Returns true if the campaign is enabled.

Return values:

TypeDescription
boolean true if the campaign is enabled.

isExperimentCampaign()

Returns true if the campaign is an experiment campaign.

Return values:

TypeDescription
boolean true if the campaign is an experiment campaign.

isPaused()

Returns true if the campaign is paused.

Return values:

TypeDescription
boolean true if the campaign is paused.

isRemoved()

Returns true if the campaign is removed.

Return values:

TypeDescription
boolean true if the campaign is removed.

keywords()

Returns the selector of all keywords in the campaign.

Return values:

TypeDescription
AdsApp.KeywordSelector The selector of all keywords in the campaign.

labels()

Creates a selector of all labels applied to the campaign.

Return values:

TypeDescription
AdsApp.LabelSelector Selector of all labels applied to the campaign.

negativeKeywordLists()

Returns a selector of negative keyword lists associated with this campaign.

Return values:

TypeDescription
AdsApp.NegativeKeywordListSelector A selector of negative keyword lists associated with this campaign.

negativeKeywords()

Returns a selector of the campaign-level negative keywords belonging to this campaign.

Note that this selector will not return any negative keywords belonging to this campaign's child ad groups — it only returns campaign-level negative keywords.

Return values:

TypeDescription
AdsApp.NegativeKeywordSelector The selector of all campaign-level negative keywords in this campaign.

newAdGroupBuilder()

Returns a new ad group builder for this campaign. Once builder.build() is called, the ad group will be created in this campaign.

Return values:

TypeDescription
AdsApp.AdGroupBuilder Ad group builder.

newDraftBuilder()

Returns a new draft builder with this campaign as the base campaign.

Return values:

TypeDescription
AdsApp.DraftBuilder A new draft builder with this campaign as the base campaign.

pause()

Pauses the campaign.

Returns nothing.

recommendations()

Returns the selector of all recommendations for this campaign.

Return values:

TypeDescription
AdsApp.RecommendationSelector The selector of all recommendations for this campaign.

removeCallout(calloutExtension)

Removes a callout extension from this campaign.

Returns nothing.

Arguments:

NameTypeDescription
calloutExtension AdsApp.Callout The callout to remove from this campaign.

removeExcludedPlacementList(excludedPlacementList)

Removes a excluded placement list from this campaign.

Returns nothing.

Arguments:

NameTypeDescription
excludedPlacementList AdsApp.ExcludedPlacementList The excluded placement list to be removed from this campaign.

removeLabel(name)

Removes a label from the campaign. name of the label is case-sensitive. Operation will fail if the label with the specified name does not already exist in the account.

Returns nothing.

Arguments:

NameTypeDescription
name String Name of the label.

removeMobileApp(mobileAppExtension)

Removes a mobile app extension from this campaign.

Returns nothing.

Arguments:

NameTypeDescription
mobileAppExtension AdsApp.MobileApp The mobile app to remove from this campaign.

removeNegativeKeywordList(negativeKeywordList)

Removes a negative keyword list from this campaign.

Returns nothing.

Arguments:

NameTypeDescription
negativeKeywordList AdsApp.NegativeKeywordList The negative keyword list to be removed from this campaign.

removePhoneNumber(phoneNumberExtension)

Removes a phone number extension from this campaign.

Returns nothing.

Arguments:

NameTypeDescription
phoneNumberExtension AdsApp.PhoneNumber The phone number to remove from this campaign.

removePrice(priceExtension)

Removes a price extension from this campaign.

Returns nothing.

Arguments:

NameTypeDescription
priceExtension AdsApp.Price The price to remove from this campaign.
Removes a sitelink extension from this campaign.

Returns nothing.

Arguments:

NameTypeDescription
sitelinkExtension AdsApp.Sitelink The sitelink to remove from this campaign.

removeSnippet(snippetExtension)

Removes a snippet extension from this campaign.

Returns nothing.

Arguments:

NameTypeDescription
snippetExtension AdsApp.Snippet The snippet to remove from this campaign.

setAdRotationType(adRotationType)

Sets the ad rotation type of the campaign.

For instance, campaign.setAdRotationType("OPTIMIZE"); instructs Google Ads to optimize ad serving based on the campaign's CTR. For more information, see Choose an ad delivery method help article.

Returns nothing.

Arguments:

NameTypeDescription
adRotationType String The new ad rotation type of the campaign. Must be one of "OPTIMIZE", "CONVERSION_OPTIMIZE", "ROTATE", or "ROTATE_FOREVER".

setEndDate(date)

Sets the campaign's end date from either an object containing year, month, and day fields, or an 8-digit string in YYYYMMDD format.

For instance, campaign.setEndDate("20130503"); is equivalent to campaign.setEndDate({year: 2013, month: 5, day: 3});.

The change will fail and report an error if:

  • the given date is invalid (e.g., {year: 2013, month: 5, day: 55}),
  • it's a date in the past, or
  • it's a date after the latest allowed end date of December 30, 2037.

Returns nothing.

Arguments:

NameTypeDescription
date Object The new campaign end date.

setName(name)

Sets the name of the campaign.

Returns nothing.

Arguments:

NameTypeDescription
name String The new name for the campaign.

setStartDate(date)

Sets the campaign's start date from either an object containing year, month, and day fields, or an 8-digit string in YYYYMMDD format.

For instance, campaign.setStartDate("20130503"); is equivalent to campaign.setStartDate({year: 2013, month: 5, day: 3});.

The change will fail and report an error if:

  • the campaign has already started,
  • the given date is invalid (e.g., {year: 2013, month: 5, day: 55}),
  • the given date is after the campaign's end date,
  • it's a date in the past, or
  • it's a date after the latest allowed end date of December 30, 2037.

Returns nothing.

Arguments:

NameTypeDescription
date Object The new campaign end date.

targeting()

Provides access to campaign-level targeting criteria: device targeting, ad scheduling, location targeting, and audiences.

Return values:

TypeDescription
AdsApp.CampaignTargeting Access to certain kinds of targeting criteria in this campaign.

urls()

Provides access to this campaign's URL fields. See Using Upgraded URLs for more information.

Return values:

TypeDescription
AdsApp.CampaignUrls Access to this campaign's URL fields.