Sitelinks
Stay organized with collections
Save and categorize content based on your preferences.
Create a sitelink extension
function createSitelink() {
// For full details on creating a new sitelink extension, see:
// https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_sitelinkbuilder
const newSitelink = AdsApp.extensions().newSitelinkBuilder()
// Replace the values below with your link link text, final url, and
// mobile preferred
.withLinkText('Music') // required
.withFinalUrl('http://www.example.com/Music') // required
.withMobilePreferred(true) // optional
.build()
.getResult();
// Add sitelink to a campaign
const campaignIterator = AdsApp.campaigns()
.withCondition('campaign.name = "INSERT_CAMPAIGN_NAME_HERE"')
.get();
if (campaignIterator.hasNext()) {
const campaign = campaignIterator.next();
campaign.addSitelink(newSitelink);
}
// Add sitelink to an ad group
const adGroupIterator = AdsApp.adGroups()
.withCondition('campaign.name = "INSERT_CAMPAIGN_NAME_HERE"')
.withCondition('ad_group.name = "INSERT_AD_GROUP_NAME_HERE"')
.get();
if (adGroupIterator.hasNext()) {
const adGroup = adGroupIterator.next();
adGroup.addSitelink(newSitelink);
}
// Add sitelink to an account
const account = AdsApp.currentAccount();
account.addSitelink(newSitelink);
}
Log sitelink details for a campaign
function logSitelinkDetails() {
// Get a campaign.
const campaignIterator = AdsApp.campaigns()
.withCondition('campaign.name = "INSERT_CAMPAIGN_NAME_HERE"')
.get();
if (!campaignIterator.hasNext()) {
throw new Error('Campaign not found.');
}
const campaign = campaignIterator.next();
// Retrieve the campaign's sitelinks. Retrieving an ad group's and
// account's sitelinks is similar.
const sitelinkIterator = campaign.extensions().sitelinks().get();
for (const sitelink of sitelinkIterator) {
// You can also request reports for pre-defined date ranges. See
// https://developers.google.com/adwords/api/docs/guides/awql,
// DateRangeLiteral section for possible values.
const stats = sitelink.getStatsFor('LAST_MONTH');
console.log(`Sitelink text : ${ sitelink.getLinkText() }`);
console.log(`final URL : ${ sitelink.urls().getFinalUrl() }`);
console.log(`mobile preferred : ${ sitelink.isMobilePreferred() }`);
console.log(`clicks : ${ stats.getClicks() }`);
console.log(`impressions : ${ stats.getImpressions() }`);
console.log('=======');
}
console.log(`${sitelinkIterator.totalNumEntities()} sitelinks in the campaign`);
}
Set schedule for sitelinks in a campaign
function setSitelinkSchedule() {
// Get a campaign.
const campaignIterator = AdsApp.campaigns()
.withCondition('campaign.name = "INSERT_CAMPAIGN_NAME_HERE"')
.get();
if (!campaignIterator.hasNext()) {
throw new Error('Campaign not found.');
}
const campaign = campaignIterator.next();
// Retrieve the campaign's sitelinks. Retrieving an ad group's and
// account's saitelinks is similar.
const sitelinkIterator = campaign.extensions().sitelinks().get();
for (const sitelink of sitelinkIterator) {
if (sitelink.getLinkText() === 'Music') {
// Set sitelink schedule to run only on Mondays and Tuesdays, 9 AM to
// 6 PM.
const monday = {
dayOfWeek: 'MONDAY',
startHour: 9,
startMinute: 0,
endHour: 18,
endMinute: 0
};
const tuesday = {
dayOfWeek: 'TUESDAY',
startHour: 9,
startMinute: 0,
endHour: 18,
endMinute: 0
};
sitelink.setSchedules([monday, tuesday]);
break;
}
}
}
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2022-03-14 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2022-03-14 UTC."],[[["This script provides functionality to create new sitelinks with custom link text, final URLs, and mobile preference, which can be applied at the campaign, ad group, or account level."],["It allows retrieval of existing sitelink details like link text, URL, mobile preference, clicks, and impressions for a specific campaign, ad group, or account, and logs them to the console."],["You can set a custom schedule for your sitelinks, specifying the days and time range during which they should be active, using the provided functions."],["This script uses the Google Ads Scripts API to interact with your Google Ads account, enabling automation of sitelink management tasks."]]],[]]