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

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

หมายเหตุ

  • อัปเกรดโฆษณาข้อความที่ขยายเป็นโฆษณาการค้นหาที่ตอบสนองภายในวันที่ 1 กุมภาพันธ์ 2023 หลังจากวันที่นี้ คุณจะไม่สามารถสร้างโฆษณาแบบข้อความที่ขยายใหม่หรือแก้ไขโฆษณาแบบข้อความที่ขยายที่มีอยู่ได้อีกต่อไป หากต้องการข้อมูลเพิ่มเติม โปรดดูเกี่ยวกับโฆษณาการค้นหาที่ตอบสนอง
  • โฆษณาแบบข้อความที่ขยายที่มีอยู่จะยังคงให้บริการต่อไป และคุณจะสามารถดูรายงานประสิทธิภาพการทํางานของโฆษณาได้
  • คุณจะยังคงสามารถหยุดชั่วคราว เปิดใช้งาน หรือลบโฆษณาแบบข้อความที่ขยายออกได้ มิฉะนั้น ความพยายามที่จะเพิ่มหรืออัปเดตโฆษณาแบบข้อความที่ขยายจะส่งผลให้เกิด CampaignServiceAdTypeInvalid ข้อผิดพลาด
  • เรียนรู้เพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้

เพิ่มโฆษณา

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

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

สําหรับโฆษณาแบบข้อความที่ขยาย คุณต้องระบุคุณสมบัติต่อไปนี้:

  • คำอธิบาย
  • FinalUrl
  • พาดหัว Part1
  • พาดหัวตอนที่ 2

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

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

function main() {
    var adGroupId = "AD GROUP ID GOES HERE";
    var adGroup = getAdGroup(adGroupId);

    if (adGroup != null) {

        // Get an expanded text ad builder, specify the ad's 
        // properties, and add the ad to the build queue.
        var operation = adGroup.newAd().expandedTextAdBuilder()
            .withDescription("AD COPY GOES HERE")
            .withFinalUrl("https://contoso.com")
            .withHeadlinePart1("AD TITLE PART 1 GOES HERE")
            .withHeadlinePart2("AD TITLE PART 2 GOES HERE")
            .build();

        if (!operation.isSuccessful()) {
            for (var error of operation.getErrors()) {
                Logger.log(error);
            }
        }
    }
    else {
        Logger.log(`Failed to get ad group, ${adGroupId}.`);
    }
}

function getAdGroup(id) {
    var adGroups = AdsApp.adGroups()
        .withIds([id])
        .get();

    if (adGroups.hasNext()) {
        return adGroups.next();
    }
    else {
        return null;
    }
}

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

    if (adGroup != null) {
        var adOperation = adGroup.newAd().expandedTextAdBuilder()
            .withDescription("ad copy")
            .withFinalUrl("https://contoso.com")
            .withHeadlinePart1("title part 1")
            .withHeadlinePart2("title part 2")
            .build();

        operations.push(adOperation);

        adOperation = adGroup.newAd().expandedTextAdBuilder()
            .withDescription("ad copy")
            .withFinalUrl("https://contoso.com")
            .withHeadlinePart1("title part 1")
            .withHeadlinePart2("title part 2")
            .build();

        operations.push(adOperation);
        
        for (var operation of operations) {
            if (!operation.isSuccessful()) {
                for (var error of operation.getErrors()) {
                    Logger.log(error);
                }
            }
        }
    }

รับโฆษณา

คุณมีหลายตัวเลือกในการรับโฆษณา ขึ้นอยู่กับว่าคุณอยู่ในลําดับชั้นจากที่ใด

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

ถ้าคุณมีวัตถุ AdGroup ให้เรียกใช้เมธอดของ ads วัตถุนั้นเพื่อดูรายการโฆษณาที่อยู่ในกลุ่มโฆษณานั้น ตัวอย่างนี้รับและพิมพ์โฆษณาทั้งหมดในกลุ่ม แต่คุณสามารถใช้วิธีการของตัวเลือกโฆษณาเพื่อกรองรายการโฆษณาได้

function main() {
    var adGroups = AdsApp.adGroups()
        .withIds(["AD GROUP ID GOES HERE"])
        .get();

    if (adGroups.hasNext()) {
        var adGroup = adGroups.next();

        var ads = adGroup.ads().get();
        
        while (ads.hasNext()) {
            var ad = ads.next();

            if (ad.isType().expandedTextAd()) {
                var expandedAd = ad.asType().expandedTextAd();
            }
        }
    } 
}

รับโฆษณาจากแคมเปญ

ถ้าคุณมีวัตถุ แคมเปญ ให้เรียกใช้เมธอดของวัตถุ ads นั้นเพื่อดูรายการโฆษณาที่อยู่ในกลุ่มโฆษณาในแคมเปญ ตัวอย่างนี้ใช้วิธีการของ withCondition ตัวเลือกโฆษณาเพื่อกรองรายการโฆษณาไปยังโฆษณาที่อยู่ในกลุ่มโฆษณาที่มีชื่อ foo

function main() {
    var campaigns = AdsApp.campaigns()
        .withIds(["CAMPAIGN ID GOES HERE"])
        .get();

    while (campaigns.hasNext()) {
        var campaign = campaigns.next();

        var ads = campaign.ads()
            .withCondition("AdGroupName CONTAINS_IGNORE_CASE 'foo'")
            .get();
        
        while (ads.hasNext()) {
            var ad = ads.next();

            if (ad.isType().expandedTextAd()) {
                var expandedAd = ad.asType().expandedTextAd();
            }
        }
    } 
}

รับโฆษณาทั้งหมดในบัญชี

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

function main() {
    var ads = AdsApp.ads().get();

    while (ads.hasNext()) {
        var ad = ads.next();

        if (ad.isType().expandedTextAd()) {
            var expandedAd = ad.asType().expandedTextAd();
        }
    }
} 

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

เมื่อต้องการหยุดโฆษณาชั่วคราว ให้เรียกใช้วิธีการของ pause โฆษณา เนื่องจากเมธอดอยู่บน pause วัตถุ Ad พื้นฐาน คุณไม่จําเป็นต้องรับวัตถุที่ได้รับก่อน

หากคุณต้องการเปิดใช้งานหรือลบโฆษณา เพียงเรียกวิธีการหรือenableremoveของโฆษณา หากต้องการตรวจสอบว่าโฆษณาถูกเปิดใช้งานหรือหยุดชั่วคราว ให้เรียกใช้isEnabledเมธอด Or isPaused

หากต้องการรับโฆษณาที่มีสถานะเฉพาะ ให้ใช้วิธีการของ withCondition ตัวเลือกโฆษณา ตัวอย่างเช่น withCondition("Status = PAUSED).

function main() {
    var ads = AdsApp.ads()
        .forDateRange("LAST_WEEK")
        .withCondition("AdGroupName CONTAINS_IGNORE_CASE 'foo'")
        .withCondition('Status = ENABLED')
        .withCondition('Clicks < 5')
        .get();
 
    while (ads.hasNext()) {
        var ad = ads.next();
        ad.pause();
    }
}

รับโฆษณาที่ไม่ได้รับอนุมัติ

ตัวอย่างเช่น โฆษณาที่ไม่ได้รับอนุมัติ ให้ดูการค้นหาโฆษณาที่ไม่ได้รับอนุมัติ