การเข้าถึงบัญชีเดี่ยว
หากคุณต้องการเข้าถึงบัญชีผู้ใช้เดียว ทุกอย่างจะเริ่มต้นด้วยออบเจ็กต์ AdsApp
How do I เข้าถึงเอนทิตีในบัญชีของฉันได้หรือไม่
ใช้ AdsApp
เพื่อเข้าถึงเอนทิตีทั้งหมดในบัญชี วัตถุประกอบด้วยเมธอดตัวเลือกสําหรับเอนทิตีแต่ละชนิด (ตัวอย่างเช่น แคมเปญ กลุ่มโฆษณา และคําสําคัญ) วิธีการตัวเลือกจะส่งกลับเอนทิตีทั้งหมดสําหรับประเภทเอนทิตีนั้น ตัวอย่างเช่น หากต้องการรับกลุ่มโฆษณาทั้งหมดในบัญชี ให้เรียกใช้ adGroups()
วิธีการ
var iterator = AdsApp.adGroups().get();
แต่จะเกิดอะไรขึ้นถ้าฉันต้องการเอนทิตีเฉพาะหรือชุดย่อยของเอนทิตี
ตัวเลือกมีวิธีต่าง ๆ ในการกรองรายการของเอนทิตี คุณสามารถใช้เมธอดของ withIds()
ตัวเลือกเพื่อรับเอนทิตีเฉพาะตามรหัส หรือคุณสามารถใช้ withCondition()
เพื่อระบุเกณฑ์การเลือกสําหรับการเลือกเอนทิตี ตัวเลือกสําหรับชนิดเอนทิตีทั้งหมด ยกเว้นรายการคําสําคัญเชิงลบ ให้ความสามารถในการกรองรายการของเอนทิตี
ใช้การกําหนดจุดเพื่อสตริงตัวกรองหลายรายการเข้าด้วยกัน ถ้าคุณระบุหลายตัวกรอง ตัวกรองเหล่านั้นจะถือว่าเป็นการดําเนินการ AND ตัวเลือกจะแสดงเฉพาะเอนทิตีที่ตรงกับเงื่อนไขทั้งหมด
หากต้องการรับกลุ่มโฆษณาทั้งหมดในแคมเปญ ให้ใช้ withCondition()
วิธีการเพื่อระบุชื่อของแคมเปญ
var campaignName = 'My Campaign';
var iterator = AdsApp.adGroups()
.withCondition(`CampaignName = '${campaignName}'`)
.get();
สําหรับรายการของเงื่อนไขและตัวดําเนินการที่คุณสามารถใช้เพื่อกรองรายการของเอนทิตี ดูวิธีการของ withCondition()
ตัวเลือก ตัวอย่างเช่น สําหรับรายการเงื่อนไขของกลุ่มโฆษณา ให้ดูวิธีการของตัวเลือกกลุ่มโฆษณาที่มี Condition
หากต้องการรับกลุ่มโฆษณาตาม ID ให้ใช้ withIds()
วิธีการระบุกลุ่มโฆษณาเพื่อรับ
var ids = ["123456789"];
var iterator = AdsApp.adGroups()
.withIds(ids)
.get();
หรือคุณสามารถรับกลุ่มโฆษณาตามชื่อได้
var campaignName = 'My Campaign';
var adGroupName = 'My AdGroup';
var iterator = AdsApp.adGroups()
.withCondition(`CampaignName = '${campaignName}'`)
.withCondition(`Name = '${adGroupName}'`)
.get();
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือก ให้ดู ตัวเลือกคืออะไร
How do I ใช้ตัวเลือกเพื่อทําซ้ําผ่านรายการของเอนทิตีที่กรองแล้วหรือไม่
เธอไม่ทําหรอก ตัวเลือกเพียงแค่กําหนดเอนทิตีที่คุณต้องการรับ ในการรับเอนทิตี จริง ๆ แล้ว คุณต้องใช้ตัวทําซ้ํา หากต้องการรับตัวทําซ้ํา คุณเรียกใช้วิธีการของ get()
ตัวเลือก
var ids = ["123456789"];
var iterator = AdsApp.adGroups()
.withIds(ids)
.get();
ใช้แบบง่าย ในขณะที่ วนรอบเพื่อทําซ้ํารายการเอนทิตี
while (iterator.hasNext()) {
var adGroup = iterator.next();
// Do something with the entity
}
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวทําซ้ํา ให้ดูที่ ตัวทําซ้ําคืออะไร
How do I รับข้อมูลประสิทธิภาพการทํางานสําหรับเอนทิตีหรือไม่
เอนทิตีส่วนใหญ่ช่วยให้คุณสามารถร้องขอข้อมูลประสิทธิภาพการทํางาน (ถ้ามี) แต่ก่อนอื่นคุณต้องบอกสคริปต์ช่วงวันที่สําหรับข้อมูลประสิทธิภาพการทํางานเมื่อคุณระบุตัวเลือก เมื่อต้องการระบุช่วงวันที่ ให้ใช้สัญพจน์ที่กําหนดไว้ล่วงหน้า เช่น YESTERDAY หรือ LAST_MONTH หรือใช้วันที่เริ่มต้นและวันที่สิ้นสุด สําหรับข้อมูลเพิ่มเติม โปรดดู forDateRange(string dateRange) และ forDateRange(Object dateFrom, Object dateTo)
var campaignName = 'My Campaign';
var adGroupName = 'My AdGroup';
var iterator = AdsApp.adGroups()
.forDateRange('LAST_30_DAYS')
.withCondition(`CampaignName = '${campaignName}'`)
.withCondition(`Name = '${adGroupName}'`)
.get();
while (iterator.hasNext()) {
var adGroup = iterator.next();
var stats = adGroup.getStats();
}
คุณยังจําเป็นต้องระบุช่วงวันที่ถ้าคุณระบุคอลัมน์ข้อมูลประสิทธิภาพการทํางานในเมธอดของ withCondition()
ตัวเลือก ตัวอย่างเช่น หากคุณต้องการเฉพาะกลุ่มโฆษณาที่มี CTR มากกว่า .22 เปอร์เซ็นต์ คุณต้องระบุช่วงวันที่
var startDate = {year: 2018, month: 6, day: 3};
var endDate = {year: 2018, month: 6, day: 13};
var iterator = AdsApp.adGroups()
.forDateRange(startDate, endDate)
.withCondition("Ctr > 0.22")
.get();
How do I เพิ่มเอนทิตีหรือไม่
หากต้องการเพิ่มเอนทิตี คุณต้องใช้ออบเจ็กต์ตัวสร้าง เมื่อต้องการรับวัตถุตัวสร้าง ให้เรียกใช้เมธอด ใหม่* บนวัตถุแม่ที่คุณกําลังเพิ่มลูกเข้าไป ตัวอย่างเช่น หากต้องการเพิ่มกลุ่มโฆษณาไปยังแคมเปญ ให้เรียกใช้วิธีการของ newAdGroupBuilder()
แคมเปญ
วัตถุตัวสร้างประกอบด้วยวิธีการในการตั้งค่าคุณสมบัติของวัตถุทั้งหมดที่คุณได้รับอนุญาตให้ระบุได้ นอกจากนี้ยังรวมถึง build()
วิธีการที่คุณใช้เพื่อสร้างเอนทิตี รายการต่อไปนี้แสดงวิธีการสร้างกลุ่มโฆษณา (สําหรับข้อมูลเกี่ยวกับวิธีการรับวัตถุการส่งเสริมการขาย ให้ดู รับการส่งเสริมการขายตามชื่อ)
var adGroupName = "My ad group";
var endDate = {year: 2018, month: 6, day: 13};
var customParameters = {key1: 'value1', key2: 'value2', key3: 'value3'};
var adGroupOperation = campaign.newAdGroupBuilder()
.withName(adGroupName)
.withStatus('ENABLED')
.withLanguage('English')
.withBiddingStrategy('MANUAL_CPC')
.withCpc(1.2)
.withCustomParameters(customParameters)
.withEndDate(endDate)
.build();
เม build
ธอด จะส่งกลับออบเจ็กต์การดําเนินการ ซึ่งคุณสามารถใช้เพื่อตรวจสอบว่าสคริปต์สร้างเอนทิตีสําเร็จหรือไม่ ต่อไปนี้แสดงรูปแบบการโทรทั่วไป getResult
เรียกใช้เมธอดเฉพาะเมื่อคุณต้องการเข้าถึงคุณสมบัติของเอนทิตีใหม่
if (adGroupOperation.isSuccessful()) {
var adGroup = adGroupOperation.getResult();
}
else {
for (var error of adGroupOperation.getErrors()) {
Logger.log(`${error}\n`);
}
}
สําหรับรายละเอียดเพิ่มเติมเกี่ยวกับผู้สร้างและข้อควรพิจารณาด้านประสิทธิภาพเมื่อเรียกใช้วิธีการทํางาน โปรดดู ผู้สร้างคืออะไร
How do I อัปเดตเอนทิตีหรือไม่
หลังจากใช้วัตถุตัวสร้างเพื่อเพิ่มเอนทิตี คุณใช้วิธีการของเอนทิตีเพื่ออัปเดตคุณสมบัติ ตัวอย่างต่อไปนี้อัปเดตจํานวนการเสนอราคา CPC ของกลุ่มโฆษณา
var ids = ["123456789"];
var adGroups = AdsApp.adGroups()
.withIds(ids)
.get();
if (adGroups.hasNext()) {
var adGroup = adGroups.next();
adGroup.bidding().setCpc(2.5);
}
แต่ฉันจะรู้ได้อย่างไรว่าการอัปเดตทํางานได้
ถ้าคุณพยายามอัปเดตคุณสมบัติที่มีค่าไม่ถูกต้อง สคริปต์จะเขียนข้อผิดพลาดลงในแฟ้มบันทึกการเปลี่ยนแปลง แต่ไม่ได้แสดงข้อยกเว้น ดังนั้นสคริปต์ของคุณยังคงดําเนินการต่อไป ไม่ต้องรับคุณสมบัติหลังจากอัปเดตเพื่อตรวจสอบว่าคุณสมบัติประกอบด้วยค่าใหม่หรือไม่ การดําเนินการนี้ส่งผลเสียต่อประสิทธิภาพการทํางาน
function main() {
var id = "123456789";
var bidAmount = -2.5;
var keyword = getKeyword(id);
if (keyword != null) {
keyword.bidding().setCpc(bidAmount); // Bid is not set because bid amount is not valid
}
}
function getKeyword(id) {
var keywords = AdsApp.keywords()
.withIds([id])
.get();
if (keywords.hasNext()) {
return keywords.next();
}
else {
return null;
}
}
กําลังเขียนไปยังล็อกไฟล์
สคริปต์มีไฟล์บันทึกให้คุณเขียนการติดตามและข้อมูลการแก้จุดบกพร่อง สําหรับข้อมูล ดูบันทึกการเปลี่ยนแปลงและบันทึกข้อความ