เรียกใช้เมธอด Conversion.update() เพื่อทําการเปลี่ยนแปลงประเภทต่อไปนี้กับ Conversion ที่มีอยู่อย่างน้อย 1 รายการ
- แก้ไขรายได้ รหัสสกุลเงิน หรือจำนวน
- แก้ไขรหัสคำสั่งซื้อที่โฆษณาระบุและตัวแปร Floodlight ที่กำหนดเอง
- นํา Conversion ออกโดยเปลี่ยน
conversion.stateจากACTIVEเป็นREMOVED
Search Ads 360 ไม่รองรับการเปลี่ยนแปลงรายการต่อไปนี้
- วันที่เกิด Conversion
- ประเภท Conversion
- คีย์เวิร์ดหรือการเข้าชมที่เป็นแหล่งที่มาของ Conversion
- ชื่อกิจกรรม Floodlight หรือชื่อกิจกรรม
อย่างไรก็ตาม คุณสามารถทําเครื่องหมาย Conversion ที่มีอยู่เป็น "นําออกแล้ว" และอัปโหลด Conversion ใหม่พร้อมด้วยวันที่ ประเภท รหัสการระบุแหล่งที่มา หรือกิจกรรม Floodlight ที่อัปเดตใหม่ได้เสมอ (อย่าลืมระบุ conversionId ใหม่ด้วย)
เช่นเดียวกับ Conversion.insert() หากคําขออัปเดตระบุ Conversion หลายรายการ Search Ads 360 จะพยายามอัปเดต Conversion แต่ละรายการอย่างดีที่สุดแทนที่จะอัปเดตทั้งกลุ่มเป็นธุรกรรมแบบ "ทั้งหมดหรือไม่มีอะไรเลย" หากการอัปเดตบางรายการในชุดไม่สำเร็จ การอัปเดตอื่นๆ อาจยังดำเนินการสำเร็จ เราขอแนะนําให้อ่านการตอบกลับสําหรับ Conversion ที่อัปเดตทุกรายการเพื่อให้แน่ใจว่าการอัปเดตสําเร็จ
(อัปเดต 2025) การเลิกใช้งาน dsConversionId
ปัจจุบันคุณสามารถใช้ dsConversionId หรือ conversionId เพื่อระบุและแก้ไข Conversion ได้ ระบบจะเลิกใช้งานฟิลด์ dsConversionId ในไตรมาสที่ 3 ปี 2025 นับจากนี้ไป คุณต้องใช้ conversionId เพื่อแก้ไข Conversion ใน Search Ads 360 Conversion API
การเปลี่ยนแปลงที่สำคัญ ได้แก่
-
การเลิกใช้งาน
dsConversionId:dsConversionIDระบบจะไม่รองรับใน Search Ads 360 Reporting API (เรียกว่าconversion.id) หรือ UI การรายงาน (เรียกว่า "รหัส Conversion") อีกต่อไป -
conversionIdข้อกําหนด:conversionIdจะเป็นช่องที่ต้องกรอกสำหรับการแก้ไข Conversion ผ่าน Search Ads 360 Conversion API
วิธีรับ conversionId
-
Search Ads 360 Reporting API: คุณสามารถดึงข้อมูล
advertiser_conversion_idโดยใช้ Search Ads 360 Reporting API ค่านี้สอดคล้องกับconversionIdที่จําเป็นสําหรับการแก้ไข -
UI ของ Search Ads 360: คุณจะเห็น "รหัส Conversion ของผู้ลงโฆษณา" ในหน้าการรายงาน Conversion ภายในอินเทอร์เฟซผู้ใช้ของ Search Ads 360
ส่งคำขออัปเดต
ฟิลด์ส่วนใหญ่ที่คุณระบุใน Conversion.update() ใช้เพื่อระบุ Conversion ที่ต้องการอัปเดต คุณใช้เทคนิคใดก็ได้ต่อไปนี้เพื่อระบุ Conversion ที่มีอยู่
- ระบุ
clickId- ของ Conversion
- Conversion ทั้งหมดที่แก้ไขต้องอยู่ภายใน 60 วันนับจากเวลาที่สร้างรหัสคลิก
- ระบุ
criterionId(รหัสคีย์เวิร์ด) ของ Conversion
ทั้ง 2 เทคนิคนี้กำหนดให้คุณระบุ conversionId, conversionTimestamp และ type ของ Conversion
นอกจากนี้ หาก Conversion เดิมระบุ revenueMicros และ currencyCode หรือ quantityMillis คําขออัปเดตจะต้องระบุข้อมูลนี้แม้ว่าคุณจะไม่ได้เปลี่ยนแปลงก็ตาม
ระบุ Conversion ตามรหัสคลิก
หาก Conversion ระบุรหัสคลิกไว้ตั้งแต่แรก คุณสามารถส่งConversion.update()
คำขอที่ระบุช่องต่อไปนี้
clickIdconversionIdconversionTimestamptypestate(ต้องระบุเฉพาะในกรณีที่คุณต้องการเปลี่ยนสถานะเป็น "นําออกแล้ว" หรือ "ใช้งานอยู่")quantityMillis(เฉพาะในกรณีที่ระบุไว้ใน Conversion ต้นฉบับ)revenueMicros(เฉพาะในกรณีที่ระบุไว้ใน Conversion ต้นฉบับ)currencyCode(เฉพาะในกรณีที่ระบุไว้ใน Conversion ต้นฉบับ)
ตัวอย่าง
ต่อไปนี้คือตัวอย่าง Conversion ที่มีอยู่ 2 รายการ
{ "kind": "doubleclicksearch#conversionList", "conversion" : [{ "clickId" : "COiYmPDTv7kCFcP0KgodOzQAAA", "conversionId" : "test_20130906_10", "conversionTimestamp" : "1378710000000", "segmentationType" : "FLOODLIGHT", "segmentationName" : "Test", "type": "TRANSACTION", "revenueMicros": "100000000", // 100 million revenueMicros is equivalent to $100 of revenue "currencyCode": "USD" }, { "clickId": "COiYmPDTv7kCFcP0KgodOzQAAA", "conversionId": "test_1383337059137", "conversionTimestamp": "1378710000000", "segmentationType" : "FLOODLIGHT", "segmentationName" : "Test", "type": "ACTION", "quantityMillis": "1000" }] }
คําขอต่อไปนี้จะอัปเดต Conversion รายการใดรายการหนึ่งจากตัวอย่างก่อนหน้าและนําอีกรายการหนึ่งออก
JSON
โปรดทราบว่าคำขอ Conversion.update() ใช้เมธอด HTTP PUT
PUT https://www.googleapis.com/doubleclicksearch/v2/conversion Authorization: Bearer your OAuth 2.0 access token Content-type: application/json { "kind": "doubleclicksearch#conversionList", "conversion": [ { "clickId": "COiYmPDTv7kCFcP0KgodOzQAAA", // Replace with data from your site "conversionId": "test_20130906_10", "conversionTimestamp": "1378710000000", "type": "TRANSACTION", "revenueMicros": "90000000", // 90 million revenueMicros is equivalent to $90 of revenue "currencyCode": "USD" }, { "clickId": "COiYmPDTv7kCFcP0KgodOzQAAA", // Replace with data from your site "conversionId": "test_1383337059137", "conversionTimestamp": "1378710000000", "type": "ACTION", "quantityMillis": "1000", "state": "REMOVED" } ] }
Java
/** * Instantiate the Doubleclicksearch service, create a conversion that updates an existing conversion, * and upload the conversions. */ public static void main(String[] args) throws Exception { Doubleclicksearch service = getService(); // See Set Up Your Application. // Set up a List to keep track of each conversion you create. List<Conversion> conversions = new Vector<Conversion>(); // Create a conversion and add it to the conversion list. // Just to get a little fancy, the updateConversionFromVisit() method can be used for all // visit conversions, including conversions that don't specify quantity, revenue, or currency. // If quantityMillis wasn't specified in the original conversion, specify -1L for the // quantityMillis parameter. Likewise, if revenueMicros wasn't specified originally, // specify -1L for the revenueMicros parameter and an empty string for currency. conversionList = updateConversionFromVisit( conversionList, "COiYmPDTv7kCFcP0KgodOzQAAA", // clickId. Replace with data from your site "test_20130906_10", // conversionId 1378710000000L, // timeStamp "TRANSACTION", // type "", // state -1L, // quantityMillis 90000000L, // revenueMicros. Equivalent to $90 of revenue "USD"); // currencyCode // Here's a conversion that needs to be removed. Just set the state parameter to "REMOVED". conversionList = updateConversionFromVisit( conversionList, "COiYmPDTv7kCFcP0KgodOzQAAA", // clickId. Replace with data from your site "test_1383337059137", // conversionId 1378710000000L, // timeStamp "ACTION", // type "REMOVED", // state 1000L, // quantityMillis -1L, // revenueMicros ""); // currencyCode // Upload the List and handle the response. uploadConversions(conversions, service); // See an example in Add New Conversions. } /** * Create a conversion and add it to a List<Conversion>. */ private static List<Conversion> updateConversionFromVisit(List<Conversion> conversions, String clickId, String conversionId, Long timeStamp, String type, String state, Long quantity, Long revenue, String currency) { // Identifies the existing conversion. Conversion conversion = new Conversion() .setClickId(clickId) .setConversionId(conversionId) .setConversionTimestamp(BigInteger.valueOf(timeStamp)) .setType(type); // Only add these fields if the value is not empty greater than -1. if(!state.isEmpty()) conversion.setState(state); if (quantity > -1L) { conversion.setQuantityMillis(quantity); } if (revenue > -1L) { conversion.setRevenueMicros(revenue); if (!currency.isEmpty()) { conversion.setCurrencyCode(currency); } else { System.err.println(String.format( "Can't add conversion %s. It specifies revenue but no currency.", conversion.getConversionId())); return conversions; } } conversions.add(conversion); return conversions; }
Python
def update_conversion(service): """Change the revenue for one existing conversion and remove another. Args: service: An authorized Doubleclicksearch service. See Set Up Your Application. """ request = service.conversion().update( body= { 'conversion' : [{ 'clickId' : 'COiYmPDTv7kCFcP0KgodOzQAAA', // Replace with data from your site 'conversionId' : 'test_20130906_13', 'conversionTimestamp' : '1378710000000', 'segmentationType' : 'FLOODLIGHT', 'segmentationName' : 'Test', 'type': 'TRANSACTION', 'revenueMicros': '90000000', // 90 million revenueMicros is equivalent to $90 of revenue 'currencyCode': 'USD' }, { 'clickId': 'COiYmPDTv7kCFcP0KgodOzQAAA', // Replace with data from your site 'conversionId': 'test_1383337059137_01', 'conversionTimestamp': '1378710000000', 'segmentationType' : 'FLOODLIGHT', 'segmentationName' : 'Test', 'type': 'ACTION', 'quantityMillis': '1000', 'state': 'REMOVED' }] } ) pprint.pprint(request.execute())
ระบุ Conversion ตามรหัสคีย์เวิร์ด
หากคุณไม่มีสิทธิ์เข้าถึงรหัสคลิก หรือหากเดิมที Conversion มีการระบุแหล่งที่มาเป็นคีย์เวิร์ดหรือคีย์เวิร์ด/โฆษณา คุณสามารถส่งConversion.update()คําขอที่ระบุช่องต่อไปนี้ได้
criterionId(รหัสคีย์เวิร์ด)conversionIdconversionTimestamptypestate(ต้องระบุเฉพาะในกรณีที่คุณต้องการเปลี่ยนสถานะเป็น "นําออกแล้ว" หรือ "ใช้งานอยู่")quantityMillis(เฉพาะในกรณีที่ระบุไว้ใน Conversion ต้นฉบับ)revenueMicros(เฉพาะในกรณีที่ระบุไว้ใน Conversion ต้นฉบับ)currencyCode(เฉพาะในกรณีที่ระบุไว้ใน Conversion เดิม)
คุณระบุรหัสอื่นๆ ได้ เช่น รหัสโฆษณา รหัสแคมเปญ ของ Conversion เป็นต้น แต่ก็ไม่จําเป็น Search Ads 360 ต้องการเฉพาะรหัสในรายการด้านบนเพื่อระบุ Conversion ที่มีอยู่
ตัวอย่าง
ตัวอย่าง Conversion ที่มีอยู่มีดังนี้
{ "kind": "doubleclicksearch#conversionList", "conversion" : [{ "agencyId": "12300000000000456", "advertiserId": "45600000000010291", "engineAccountId": "700000000042441", "campaignId": "71700000002044839", "adGroupId": "58700000032026064", "criterionId": "43700004289911004", "adId": "44700000155906860", "conversionId": "test_1383157519886", "conversionTimestamp": "1378710000000", "type": "ACTION", "quantityMillis": "1000", "segmentationType": "FLOODLIGHT", "segmentationName": "Test" }] }
คําขอต่อไปนี้จะอัปเดตการประทับเวลาของ Conversion
JSON
โปรดทราบว่าคำขอ Conversion.update() ใช้เมธอด HTTP PUT
PUT https://www.googleapis.com/doubleclicksearch/v2/conversion Authorization: Bearer your OAuth 2.0 access token Content-type: application/json { "kind": "doubleclicksearch#conversionList", "conversion": [ { "criterionId": "43700004289911004", // Replace with your ID "conversionId": "test_1383157519886", "conversionTimestamp": "1378710000000", "type": "ACTION", "quantityMillis": "3000" } ] }
Java
// Send conversion data to updateConversion, which creates a conversion and adds it // to the conversion list. conversionList = updateConversionFromKeyword(conversionList, 43700004289911004L, // criterionId. Replace with your ID "test_1383157519886", // conversionId 1378710000000L, // timeStamp "ACTION", // type "", // state 3000L, // quantityMillis -1L, // revenueMicros ""); // currencyCode private static List<Conversion> updateConversionFromKeyword(List<Conversion> conversions, Long criterionId, String conversionId, Long timeStamp, String type, String state, Long quantity, Long revenue, String currency ) { Conversion conversion = new Conversion() .setCriterionId(criterionId) .setConversionId(conversionId) .setConversionTimestamp(BigInteger.valueOf(timeStamp)) .setType(type); // Only add these fields if the value is not empty greater than -1. if(!state.isEmpty()) conversion.setState(state); if (quantity > -1L) { conversion.setQuantityMillis(quantity); } if (revenue > -1L) { conversion.setRevenueMicros(revenue); if (!currency.isEmpty()) { conversion.setCurrencyCode(currency); } else { System.err.println(String.format( "Can't add conversion %s. It specifies revenue but no currency.", conversion.getConversionId())); return conversions; } } conversions.add(conversion); return conversions; }
Python
def update_conversion(service): """Change the timestamp of a conversion. Use only the keyword id (criterionId) to identify the conversion. Args: service: An authorized Doubleclicksearch service. See Set Up Your Application. """ request = service.conversion().update( body= { 'conversion': [{ 'criterionId': '43700004289911004', // Replace with your ID 'conversionId': 'test_1383157519886', 'conversionTimestamp': '1378760000000', 'type': 'ACTION', 'quantityMillis': '1000' }] } ) pprint.pprint(request.execute())
จัดการคําตอบของ Search Ads 360
การตอบกลับคําขออัปเดตจะเหมือนกับการตอบกลับคําขอแทรก กล่าวคือ Search Ads 360 จะระบุว่าสําเร็จก็ต่อเมื่ออัปเดต Conversion ทั้งหมดในคําขอเรียบร้อยแล้ว
หากคําขอสําเร็จ การตอบกลับจะมีการแสดงข้อมูลภายในของ Search Ads 360 แบบเต็มสําหรับ Conversion ที่อัปเดตแต่ละรายการ เช่น รหัสแคมเปญ รหัสกลุ่มโฆษณา และรหัสคีย์เวิร์ด (เกณฑ์)
หากการอัปเดตอย่างน้อย 1 รายการไม่ผ่านการตรวจสอบหรืออัปโหลดไม่สำเร็จ การตอบกลับจะมีข้อความแสดงข้อผิดพลาดของการอัปเดตแต่ละรายการที่ไม่สำเร็จ การตอบกลับไม่มีข้อความเกี่ยวกับ Conversion ที่อัปเดตเรียบร้อยแล้ว ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อความแสดงข้อผิดพลาดเหล่านี้ได้ที่จัดการการตอบกลับของ Search Ads 360 สําหรับคําขอแทรก