ตัวอย่างสคริปต์สําหรับการจัดการกลุ่มโฆษณา

ส่วนต่อไปนี้แสดงตัวอย่างของสคริปต์ที่ดําเนินการต่างๆ กับกลุ่มโฆษณา

เพิ่มกลุ่มโฆษณา

เมื่อต้องการเพิ่มกลุ่มโฆษณา ให้รับแคมเปญที่จะเพิ่มกลุ่มโฆษณาก่อน ใช้วัตถุ CampaignSelector เพื่อเลือกแคมเปญ การใช้ withIds เมธอดนี้ให้ประสิทธิภาพที่ดีกว่าการส่งชื่อแคมเปญใน withCondition เมธอด

ถัดไป ให้เรียกใช้เมธอด newAdGroupBuilder ของแคมเปญเพื่อรับตัวสร้างที่คุณใช้ระบุคุณสมบัติของกลุ่มโฆษณา คุณสมบัติเดียวที่ต้องการคือชื่อของกลุ่มโฆษณา (ดู withName วิธีการ) ซึ่งต้องไม่ซ้ํากันภายในแคมเปญ หากคุณไม่ได้ระบุค่า CPC จะมีค่าเริ่มต้นเป็นจํานวนเสนอราคาต่ําสุดสําหรับสกุลเงินของบัญชีของคุณ คุณเพียงต้องระบุภาษา หากแคมเปญไม่ได้ระบุภาษาดังกล่าว มิฉะนั้น จะสืบทอดค่าภาษาของแคมเปญ ตามค่าเริ่มต้น สถานะของกลุ่มโฆษณาจะเป็นหยุดชั่วคราว

การเรียกวิธีการของ build ตัวสร้างจะสร้างกลุ่มโฆษณาแบบอะซิงโครนัส สคริปต์จะเพิ่มกลุ่มโฆษณาในบางจุดก่อนที่สคริปต์จะสิ้นสุดลง หรือหากคุณเรียกหนึ่งในเมธอดของการดําเนินการสร้าง สําหรับข้อมูลเกี่ยวกับกระบวนการนี้ ให้ดู ตัว สร้างคืออะไร

function main() {
    // The ID of the campaign to add the ad groups to.
    // IDs in Scripts are string integers.
    var campaignId = 'CAMPAIGN ID GOES HERE';  
    var campaign = getCampaign(campaignId);

    // Ad groups to add.
    var adGroups = [];
    adGroups.push({
        name : 'AD GROUP NAME GOES HERE',
        cpc : 2.25,
        language : 'English' // Required if the campaign doesn't specify a language
    });
    adGroups.push({
        name : 'AD GROUP NAME GOES HERE',
        cpc : 1.25,
        language : 'English' // Required if the campaign doesn't specify a language
    });

    var operations = [];

    if (campaign != null)
    {
        for (var adGroup of adGroups) {
            var operation = addAdGroup(
                campaign, 
                adGroup.name, 
                adGroup.cpc, 
                adGroup.language);
            operations.push(operation);
        }
    }
    else {
        Logger.log("Unable to retrieve campaign, " + campaignId);
    }

    checkBuildStatus(operations, adGroups);
}

// Get the campaign using its ID.
function getCampaign(id) {
    var iterator = AdsApp.campaigns()
        .withIds([id])
        .get();

    // Return the campaign if it exists; otherwise, null.
    if (iterator.hasNext()) {
        return iterator.next();
    }
    else {
        return null;
    }
}

// Add the ad group to the specified campaign.
// Returns the builder's operation object, which you use to 
// check the status of the add operation.
function addAdGroup(campaign, name, cpc, language) {

    return campaign.newAdGroupBuilder()
        .withName(name)
        .withCpc(cpc)
        .withLanguage(language)
        .build();
}

// Check the ad group's build status.
function checkBuildStatus(operations, adGroups) {

    for (var i = 0; i < operations.length; i++) {
        if (!operations[i].isSuccessful()) {
            for (var error of operations[i].getErrors()) {
                Logger.log(`Failed to add, ${adGroups[i].name}. Error: ${error}`);
            }
        }
    }
}

รับกลุ่มโฆษณาทั้งหมด

หากต้องการรับกลุ่มโฆษณาทั้งหมดในบัญชี ก่อนอื่นให้เรียกใช้เมธอดของadGroupsวัตถุ AdsApp เพื่อรับตัวเลือก จากนั้น เรียกใช้วิธีการของ get ตัวเลือกเพื่อรับ ตัวทําซ้ํา ที่คุณใช้ในการทําซ้ําไปตามรายการของกลุ่มโฆษณา เนื่องจากตัวอย่างไม่ได้ระบุตัวกรองใดๆ ตัวเลือกจะส่งกลับกลุ่มโฆษณาทั้งหมดในบัญชี เมื่อต้องการกําหนดจํานวนกลุ่มโฆษณาในวนซ้ํา ให้เรียกใช้เมธอดของตัว totalNumEntities วนซ้ํา

function main() {
    // Gets all ad groups in the account.
    var iterator = AdsApp.adGroups().get();
    
    // Iterates through the list of ad groups and logs 
    // each ad group's name.
    while (iterator.hasNext()) {
        var adGroup = iterator.next();
    }
}

รับกลุ่มโฆษณาตามชื่อ

หากต้องการรับกลุ่มโฆษณาตามชื่อ ก่อนอื่นให้เรียกใช้เมธอดของadGroupsวัตถุ AdsApp เพื่อรับตัวเลือก ตัวเลือกมีวิธีการกรองจํานวนหนึ่งที่คุณใช้ในการกรองรายการกลุ่มโฆษณา ใช้ withCondition วิธีการกรองกลุ่มโฆษณาสําหรับชื่อกลุ่มโฆษณาที่เฉพาะเจาะจง โปรดทราบว่าตัวถูกดําเนินการและตัวดําเนินการเป็นแบบตรงตามตัวพิมพ์ใหญ่-เล็ก

ถัดไป ให้เรียกใช้วิธีการของgetตัวเลือกเพื่อรับตัวทําซ้ํา ชื่อกลุ่มโฆษณาภายในแคมเปญจะไม่ซ้ํากัน แต่เป็นไปได้ที่แคมเปญหลายรายการจะมีกลุ่มโฆษณาที่มีชื่อเดียวกัน ด้วยเหตุนี้ หากคุณกรองตามชื่อเท่านั้น ตัวทําซ้ําอาจมีกลุ่มโฆษณามากกว่าหนึ่งกลุ่ม

หากคุณต้องการรับกลุ่มโฆษณาตามชื่อจากแคมเปญเฉพาะ ให้ใส่วิธีการwithConditionที่ระบุชื่อแคมเปญ ()CampaignName = '<campaignnamegoeshere>'

function main() {
    // The name of the ad group to get.
    var adGroupName = 'AD GROUP NAME GOES HERE';

    // Get the ad groups with the specified name.
    var iterator = AdsApp.adGroups()
          .withCondition(`Name = '${adGroupName}'`)
          .get();

    // Need a loop because multiple campaigns can have 
    // an ad group with the same name.
    while (iterator.hasNext()) {
        var adGroup = iterator.next();
    }
}

รับการจัดกลุ่มโฆษณาตาม ID

หากคุณสามารถเข้าถึง ID ของกลุ่มโฆษณาได้ ให้ใช้รหัสนั้นแทน การใช้ ID เพื่อรับเอนทิตีให้ประสิทธิภาพการทํางานที่ดีขึ้น ให้ใช้withConditionวิธีการกรองแทนwithIds ตัวอย่างเช่น withIds(['12345']).

function main() {
    var adGroupId = '12345';

    var iterator = AdsApp.adGroups()
        .withIds([adGroupId])
        .get();

    if (iterator.hasNext()) {
        var adGroup = iterator.next();
    }
}

รับการจัดกลุ่มโฆษณาตามชื่อจากแคมเปญเฉพาะ

function main() {
    var adGroupName = 'AD GROUP NAME GOES HERE';
    var campaignName = "CAMPAIGN NAME GOES HERE";

    var iterator = AdsApp.adGroups()
        .withCondition(`Name = '${adGroupName}'`)
        .withCondition(`CampaignName = '${campaignName}'`)
        .get();

    if (iterator.hasNext()) {
        var adGroup = iterator.next();
    }
}

รับข้อมูลประสิทธิภาพของกลุ่มโฆษณา

หากต้องการรับเมตริกประสิทธิภาพของกลุ่มโฆษณา ให้เรียกใช้เมธอด getStats ของกลุ่มโฆษณา เมื่อคุณได้รับกลุ่มโฆษณา คุณจําเป็นต้องระบุช่วงวันที่ของข้อมูลเมตริกที่คุณต้องการ คุณสามารถระบุช่วงวันที่โดยใช้สัญพจน์ที่กําหนดไว้ล่วงหน้า เช่น LAST_MONTH หรือ TODAY หรือวันที่เริ่มต้นและสิ้นสุด เมื่อต้องการระบุช่วงวันที่ ให้ใช้วิธีใดวิธีหนึ่ง forDateRange เมื่อคุณเลือกกลุ่มโฆษณา (ดู AdGroupSelector)

สําหรับรายการของเมตริกที่คุณสามารถเข้าถึงได้ ให้ดูวัตถุ Stats

function main() {
    var campaignName = 'CAMPAIGN NAME GOES HERE';
    var adGroupName = 'AD GROUP NAME GOES HERE';

    // Get the ad group. You need to specify the date range of the
    // performance data you want to get.
    var iterator = AdsApp.adGroups()
        .forDateRange('LAST_WEEK')
        .withCondition(`Name = '${adGroupName}'`)
        .withCondition(`CampaignName = '${campaignName}'`)
        .get();
    
    // If the ad group is found, log some metrics.
    if (iterator.hasNext()) {
        var adGroup = iterator.next();
        var metrics = adGroup.getStats(); // Gets the performance metrics.
    }
}

หยุดกลุ่มโฆษณาชั่วคราว

เมื่อคุณเพิ่มกลุ่มโฆษณา สถานะของกลุ่มโฆษณาจะเป็นหยุดชั่วคราวตามค่าเริ่มต้น เมื่อต้องการเปิดใช้งานกลุ่มโฆษณา ให้เรียกใช้วิธีการของ enable กลุ่มโฆษณา เมื่อต้องการเปลี่ยนสถานะของกลุ่มโฆษณาเป็นหยุดชั่วคราว ให้เรียกใช้วิธีการของ pause กลุ่มโฆษณา เมื่อต้องการตรวจสอบสถานะของกลุ่มโฆษณา ให้เรียกใช้ , และisPausedisRemovedวิธีการของisEnabledกลุ่มโฆษณา

function main() {
    var campaignName = 'CAMPAIGN NAME GOES HERE';
    var adGroupName = 'AD GROUP NAME GOES HERE';

    // Get the ad group. 
    var iterator = AdsApp.adGroups()
        .withCondition(`Name = '${adGroupName}'`)
        .withCondition(`CampaignName = '${campaignName}'`)
        .get();

    if (iterator.hasNext()) {
        var adGroup = iterator.next();
        adGroup.pause();
    }
}