Mobile Apps
Stay organized with collections
Save and categorize content based on your preferences.
Create a mobile app extension
function createMobileApp() {
// For full details on creating a new mobile app extension, see:
// https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_mobileappbuilder
const newMobileApp = AdsApp.extensions().newMobileAppBuilder()
// See https://support.google.com/google-ads/answer/2402582 for details
// on how to obtain applications specific store id
.withAppId('INSERT_STORE_SPECIFIC_APP_ID_HERE') // required
// For iOS apps, use 'iOS' here
.withStore('Android') // required
// Replace the values below with your link text, final url, and start date
.withLinkText('Download App Here') // required
.withFinalUrl('http://www.example.com/androidApp') // required
.withStartDate({day : 29, month : 2, year : 2024}) // optional
.build()
.getResult();
// Add mobile app to a campaign
const campaignIterator = AdsApp.campaigns()
.withCondition('campaign.name = "INSERT_CAMPAIGN_NAME_HERE"')
.get();
if (campaignIterator.hasNext()) {
const campaign = campaignIterator.next();
campaign.addMobileApp(newMobileApp);
}
// Add mobile app 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.addMobileApp(newMobileApp);
}
// Add mobile app to an account
const account = AdsApp.currentAccount();
account.addMobileApp(newMobileApp);
}
Log mobile app extensions details for a campaign
function logMobileAppDetails() {
// 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 mobile apps. Retrieving an ad group's and
// account's mobile apps is similar.
const mobileAppIterator = campaign.extensions().mobileApps().get();
for (const mobileApp of mobileAppIterator) {
// 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 = mobileApp.getStatsFor('LAST_MONTH');
console.log(`Mobile app id : ${ mobileApp.getAppId() }`);
console.log(`link text : ${ mobileApp.getLinkText() }`);
console.log(`final URL : ${ mobileApp.urls().getFinalUrl() }`);
console.log(`clicks : ${ stats.getClicks() }`);
console.log(`impressions : ${ stats.getImpressions() }`);
console.log('=======');
}
console.log(`${mobileAppIterator.totalNumEntities()} mobile apps in the campaign`);
}
Set schedule for mobile apps in a campaign
function setMobileAppSchedule() {
// 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 mobile apps. Retrieving an ad group's and
// account's mobile apps is similar.
const mobileAppIterator = campaign.extensions().mobileApps().get();
for (const mobileApp of mobileAppIterator) {
if (mobileApp.getAppId() === 'INSERT_STORE_SPECIFIC_APP_ID_HERE') {
// Set mobile app 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
};
mobileApp.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.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Missing the information I need"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Too complicated / too many steps"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Out of date"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Samples / code issue"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Other"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Easy to understand"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Solved my problem"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Other"
}]
{"lastModified": "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."]]