I hope this message finds you well.
I am working on a script where I need to pause and enable a certain functionality, but I’ve encountered an issue. Both actions (pause and enable) are only executed correctly when the code is run twice. I would like some assistance in resolving this so that both actions work as intended when the script is run just once.
Below is the code for reference:
function pauseAllAdGroupsByCampaignName(campaignName) {
try {
// Fetch the campaign by its name
var campaignIterator = AdsApp.campaigns()
.withCondition("Name = '" + campaignName + "'")
.get();
if (campaignIterator.hasNext()) {
var campaign = campaignIterator.next();
// Get all ad groups within the found campaign
var adGroupIterator = campaign.adGroups().get();
if (adGroupIterator.hasNext()) {
Logger.log('Pausing all ad groups in Campaign: "' + campaignName + '"');
// Loop through each ad group and pause it
while (adGroupIterator.hasNext()) {
var adGroup = adGroupIterator.next();
var adGroupId = adGroup.getId();
Utilities.sleep(60000);
// Check if the ad group is enabled before pausing
if (adGroup.isEnabled()) {
adGroup.pause();
Logger.log('Ad Group with ID "' + adGroupId + '" and Name "' + adGroup.getName() + '" has been paused.');
} else {
Logger.log('Ad Group with ID "' + adGroupId + '" and Name "' + adGroup.getName() + '" is already paused.');
}
}
} else {
Logger.log('No ad groups found in Campaign "' + campaignName + '".');
}
} else {
Logger.log('No campaign found with the name: ' + campaignName);
}
} catch (e) {
Logger.log('Error pausing ad groups for Campaign "' + campaignName + '": ' + e.toString());
}
}
function main() {
var campaignName = "click2mediaoffer"; // Replace with your campaign name
pauseAllAdGroupsByCampaignName(campaignName);
}
Could you kindly look into this and provide any recommendations or solutions?
Looking forward to your input.