เพิ่ม Conversion ใหม่

เรียกใช้เมธอด Conversion.insert() เพื่อเพิ่ม Conversion อย่างน้อย 1 รายการ คําขอของคุณต้องระบุชื่อกิจกรรม Floodlight ที่ผู้ลงโฆษณาใช้เพื่อรายงาน Conversion ออฟไลน์ พร้อมกับรหัสของคีย์เวิร์ด โฆษณา และอาจรวมถึงการคลิกที่ทําให้เกิด Conversion เพื่อให้ระบุแหล่งที่มาของ Conversion ได้อย่างถูกต้อง ดูข้อมูลเกี่ยวกับการรับรหัส Search Ads 360 ได้ที่รหัส Search Ads 360 และ Conversion

ดูข้อมูลเกี่ยวกับข้อจํากัดในการอัปโหลด Conversion ที่ผ่านมาได้ในศูนย์ช่วยเหลือของ Search Ads 360

หากคําขอ Conversion.insert() ระบุ Conversion หลายรายการ Search Ads 360 จะพยายามอัปโหลด Conversion แต่ละรายการอย่างสุดความสามารถแทนการอัปโหลดทั้งกลุ่มเป็นธุรกรรมแบบ "ทั้งหมดหรือไม่มีอะไรเลย" หากอัปโหลด Conversion บางรายการในชุดไม่สําเร็จ Conversion อื่นๆ อาจยังอัปโหลดสําเร็จ การอัปโหลด Conversion อาจไม่สําเร็จเนื่องจากคําขอไม่ถูกต้อง หรือเครือข่ายหรือระบบขัดข้องชั่วคราว เราจึงขอแนะนําให้คุณอ่านคําตอบสําหรับ Conversion ที่แทรกทุกรายการเพื่อให้แน่ใจว่าอัปโหลดสําเร็จ

ฉันจะใช้ข้อมูลที่อัปโหลดมาได้เร็วเพียงใด

หากคุณระบุ conversionTimestamp ของวันนี้หรือเมื่อวานสําหรับ Conversion หนึ่ง เมตริกสําหรับ Conversion ดังกล่าวจะแสดงใน UI ของ Search Ads 360 ภายใน 1 ชั่วโมงหลังจากการอัปโหลด หากคุณระบุ conversionTimestamp ที่เก่ากว่าเมื่อวาน ระบบจะอัปเดตเมตริกในอีกไม่กี่ชั่วโมง

แปลงการประทับเวลาทั้งหมดสําหรับ Conversion เป็นเวลา Epoch (หรือที่รู้จักกันในชื่อเวลา Unix)

ฉันจะสร้างกิจกรรม Floodlight จาก API ได้ไหม

หากผู้ลงโฆษณายังไม่ได้สร้างกิจกรรม Floodlight สําหรับการติดตาม Conversion ออฟไลน์ คุณ ใช้ Campaign Manager API เพื่อสร้างกิจกรรมได้ คุณไม่สามารถใช้ API เพื่อระบุว่ากิจกรรม Floodlight ใช้สำหรับ Conversion ออฟไลน์เป็นหลัก ซึ่งเป็นแนวทางปฏิบัติแนะนำเมื่อกลยุทธ์การเสนอราคาจะใช้ข้อมูลจาก Conversion

เราขอแนะนําว่าหลังจากใช้ API เพื่อสร้างกิจกรรม Floodlight แล้ว ผู้ใช้ Search Ads 360 ควรลงชื่อเข้าใช้ Search Ads 360 และเปลี่ยนการตั้งค่ากิจกรรมเพื่อระบุว่าแหล่งที่มาหลักของ Conversion คือกิจกรรมออฟไลน์

แนวทางปฏิบัติแนะนำในการเพิ่ม Conversion

เราขอแนะนําแนวทางปฏิบัติแนะนําต่อไปนี้สําหรับการเพิ่ม Conversion

  1. ขอให้ผู้ใช้ Search Ads 360 ลงชื่อเข้าใช้ Search Ads 360 และเปลี่ยนการตั้งค่าสําหรับกิจกรรม Floodlight แต่ละรายการที่คุณใช้รายงาน Conversion ออฟไลน์ การตั้งค่าควรระบุว่าแหล่งที่มาหลักของ Conversion คือกิจกรรมออฟไลน์ ดูวิธีการที่ศูนย์ช่วยเหลือของ Search Ads 360

  2. อัปโหลด Conversion ทันทีที่พร้อมใช้งาน หาก ระบุแหล่งที่มาของ Conversion เป็นการเข้าชมที่เฉพาะเจาะจง ให้รออย่างน้อย 6 ชั่วโมงหลังจากการเข้าชมก่อนที่จะอัปโหลด Conversion Search Ads 360 อาจไม่รู้จักรหัสคลิกของการเข้าชมหากคุณอัปโหลดภายใน 6 ชั่วโมงหลังจากการเข้าชม ในบางกรณีที่เกิดขึ้นไม่บ่อยนัก คุณอาจต้องรอนานถึง 24 ชั่วโมงก่อนที่ Search Ads 360 จะจดจํา clickId ได้

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

ส่งคำขอแทรก

คุณส่งคำขอ Conversion.insert() เพื่อดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้ได้

  • ระบุแหล่งที่มาเป็นการเข้าชมที่เฉพาะเจาะจง
  • ระบุแหล่งที่มาเป็นคีย์เวิร์ดเท่านั้น

ช่องที่ต้องระบุในคําขอ Conversion.insert() จะขึ้นอยู่กับเหตุการณ์หรือรายการที่คุณระบุแหล่งที่มาของ Conversion ส่วนต่อไปนี้แสดงรายการฟิลด์ที่ต้องระบุและฟิลด์ที่ไม่บังคับสําหรับเหตุการณ์หรือรายการแต่ละรายการที่คุณระบุแหล่งที่มาของ Conversion ได้

ระบุแหล่งที่มาเป็นการเข้าชมที่เฉพาะเจาะจง

เมื่อลูกค้าคลิกโฆษณาอย่างน้อย 1 รายการและไปที่เว็บไซต์ของผู้ลงโฆษณา Search Ads 360 จะถือว่าเซสชันของผู้ใช้บนเว็บไซต์ของผู้ลงโฆษณาเป็นการเข้าชม หากต้องการระบุแหล่งที่มาของ Conversion เป็นการเข้าชม ให้ระบุข้อมูลต่อไปนี้ในConversion.insert() คำขอ

ฟิลด์ที่จำเป็น

  • clickId: รหัสคลิกที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ของการเข้าชม ค้นหารหัสคลิกหรือรายการ Conversion ในบันทึกการใช้เว็บของผู้ลงโฆษณา และใช้รหัสคลิกจาก Conversion อื่น Search Ads 360 จะระบุแหล่งที่มาของ Conversion ไปยังคีย์เวิร์ด โฆษณา และออบเจ็กต์ Search Ads 360 อื่นๆ ที่รับผิดชอบในการสร้างการเข้าชม
    รออย่างน้อย 6 ชั่วโมงหลังจากที่ Search Ads 360 สร้างรหัสคลิกเพื่ออัปโหลด Conversion หากได้รับข้อผิดพลาด "ไม่พบรหัสคลิก" ให้รอ 24 ชั่วโมงแล้วอัปโหลด Conversion อีกครั้ง คุณควรอัปโหลด Conversion ทั้งหมดภายใน 90 วันนับจากวันที่สร้างรหัสคลิก มิเช่นนั้น Search Ads 360 API อาจไม่จดจําการเข้าชม
  • conversionId: สําหรับ Conversion ออฟไลน์ ผู้ลงโฆษณาจะเป็นผู้ระบุรหัสนี้ ผู้ลงโฆษณาสามารถระบุรหัสใดก็ได้ที่สื่อความหมาย Conversion แต่ละรายการในคําขอต้องระบุรหัสที่ไม่ซ้ำกัน และการรวมรหัสและการประทับเวลาต้องไม่ซ้ำกันกับ Conversion ทั้งหมดภายในผู้ลงโฆษณา สําหรับ Conversion ออนไลน์ Search Ads 360 จะคัดลอก dsConversionId หรือ floodlightOrderId ลงในพร็อพเพอร์ตี้นี้โดยขึ้นอยู่กับคําสั่ง Floodlight ของผู้ลงโฆษณา
  • conversionTimestamp: ระบุวันที่และเวลาที่เกิด Conversion ตัวอย่างเช่น หาก Conversion เกิดขึ้นในวันศุกร์ที่ 5 ส.ค. 2016 เวลา 00:53:22 น. ตามเวลาออมแสงตะวันออก (GMT -4:00) ให้ระบุการประทับเวลาเป็นมิลลิวินาทีของ Epoch: 1470412402000
  • segmentationType: ระบุประเภทระบบ Conversion ที่คุณอัปโหลด Conversion ไป ปัจจุบันระบบรองรับเฉพาะ Conversion ของ Floodlight คุณจึงต้องระบุ FLOODLIGHT ในช่องนี้เสมอ
  • segmentationName: ชื่อกิจกรรม Floodlight ที่ผู้ลงโฆษณาใช้เพื่อรายงาน Conversion

    หากผู้ลงโฆษณามีกิจกรรมที่มีชื่อเดียวกัน (กรณีนี้อาจเกิดขึ้นหากกิจกรรมอยู่ในกลุ่ม Floodlight ที่แตกต่างกัน) เราขอแนะนําให้เปลี่ยนชื่อกิจกรรมใดกิจกรรมหนึ่ง

    หรือหากทราบรหัสที่ Search Ads 360 กำหนดให้กับกิจกรรม Floodlight ก็ระบุรหัสใน segmentationId แทนการระบุชื่อในช่อง segmentationName ได้ (Campaign Manager จะกําหนดรหัสให้กับกิจกรรม Floodlight ด้วย แต่รหัส Campaign Manager จะแตกต่างจากรหัส Search Ads 360 และไม่สามารถใช้เพื่อระบุแหล่งที่มาของ Conversion ได้) หากต้องการดูรหัส Search Ads 360 สําหรับกิจกรรม Floodlight ให้ดาวน์โหลดรายงาน Conversion (จาก UI ของ Search Ads 360 หรือ Reporting API) หากมีการระบุแหล่งที่มาของ Conversion อย่างน้อย 1 รายการเป็นกิจกรรม Floodlight ในช่วงเวลาของรายงาน คุณจะเห็นรหัส Search Ads 360 ในรายงาน

  • type: ประเภท Conversion ซึ่งก็คือ ACTION หรือ TRANSACTION Conversion การกระทําไม่มีมูลค่าทางการเงิน แต่ Conversion การทำธุรกรรมมี เช่น การสมัครรับอีเมล (การกระทํา) เทียบกับการซื้อผ่านอีคอมเมิร์ซ (ธุรกรรม)

    หากระบุ TRANSACTION คุณจะต้องระบุช่องต่อไปนี้ด้วย

    • revenueMicros: มูลค่า Conversion เป็นเงิน

ช่องที่ไม่บังคับ

  • quantityMillis: จํานวนรายการใน Conversion นี้ เช่น จํานวนผู้ที่ลงชื่อสมัครรับจดหมายข่าวทางอีเมลหรือจํานวนสินค้าทั้งหมดที่ขายได้ หากคุณไม่ได้ระบุฟิลด์นี้สําหรับ Conversion การกระทำ Search Ads 360 จะแทรกค่า 1000 โดยอัตโนมัติ
  • currencyCode: สกุลเงินของรายได้จากธุรกรรม โดยค่าเริ่มต้น ระบบจะถือว่ารายได้เป็นสกุลเงินของผู้ลงโฆษณา หากคุณระบุสกุลเงินอื่น Search Ads 360 จะแปลงจํานวนรายได้ที่ระบุเป็นสกุลเงินของผู้ลงโฆษณา ดูข้อมูลเพิ่มเติม
    ใช้รูปแบบตัวอักษรของ ISO 4217 (อักขระ 3 ตัว) เพื่อระบุสกุลเงิน
    ใช้กับ Conversion ที่เกิดจากธุรกรรมเท่านั้น
  • customMetric และ customDimension: อัปโหลดข้อมูลเพิ่มเติมเกี่ยวกับ Conversion เช่น ประเทศที่จัดส่งสินค้า รหัสผลิตภัณฑ์ หรือแม้แต่ระยะเวลาการโทร ดูข้อมูลเพิ่มเติมเกี่ยวกับการอัปโหลดข้อมูลสําหรับตัวแปร Floodlight ที่กําหนดเอง
  • deviceType: ระบุประเภทของอุปกรณ์ที่เกิด Conversion ดูรายการค่าที่ยอมรับสำหรับช่องนี้

JSON

POST  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 a click ID from your site
    "conversionId" : "test_20130906_04",
    "conversionTimestamp" : "1378710000000",
    "segmentationType" : "FLOODLIGHT",
    "segmentationName" : "Test",
    "type": "TRANSACTION",
    "revenueMicros": "10000000", // 10 million revenueMicros is equivalent to $10 of revenue
    "currencyCode": "USD"
  }]
}
          

Java

  /**
   * Instantiate the Doubleclicksearch service, create conversions, and upload them.
   */
  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>();

    // Add a conversion to the List.
    addTransactionConversionForVisit(conversions, "COiYmPDTv7kCFcP0KgodOzQAAA", // Replace with a click ID from your site
        "test_" + System.currentTimeMillis(), 10000000L, 1378710000000L);

    // Upload the List and handle the response.
    uploadConversions(conversions, service);
  }


  /**
   * Create a TRANSACTION conversion and add it to a List<Conversion>. This sample hard-codes
   * the segmentation name and currency. You probably wouldn't want your production code to be so brittle.
   */
  private static List<Conversion> addTransactionConversionForVisit(List<Conversion> conversions,
      String clickId, String conversionId, Long revenue, Long timeStamp) {

    Conversion conversion = new Conversion().setClickId(clickId)
        .setConversionId(conversionId)
        .setSegmentationType("FLOODLIGHT")
        .setSegmentationName("Test")
        .setType("TRANSACTION")
        .setRevenueMicros(revenue)
        .setCurrencyCode("USD")
        .setConversionTimestamp(BigInteger.valueOf(timeStamp));

    conversions.add(conversion);
    return conversions;
  }


  /**
   * Convert the List of conversions to a DS ConversionList, send an insert request to DS,
   * and output the response to a file.
   */
  private static void uploadConversions(List<Conversion> conversions, Doubleclicksearch service)
      throws IOException {

    FileOutputStream outputStream =
        new FileOutputStream(new File("./", "InsertConversionsResponse.txt"));
    final PrintStream printStream = new PrintStream(outputStream);

    try {
      // Convert the List to a ConversionList.
      ConversionList conversionList = new ConversionList().setConversion(conversions);

      // Insert an upload request and download the response to a file.
      service.conversion().insert(conversionList).executeAndDownloadTo(printStream);
      printStream.close();
    } catch (GoogleJsonResponseException e) {
      System.err.println("Get request was rejected.");
      for (ErrorInfo error : e.getDetails().getErrors()) {
        System.err.println(error.getMessage());
      }
      System.exit(e.getStatusCode());
    }
  }
            

Python

def insert_conversion(service):
  """Create and upload a TRANSACTION conversion that is attributed to a visit.

  Args:
    service: An authorized Doubleclicksearch service. See Set Up Your Application.
  """
  request = service.conversion().insert(
      body=
      {
          'conversion': [{
              'clickId': 'COiYmPDTv7kCFcP0KgodOzQAAA', // Replace with a click ID from your site
              'conversionId': 'test_20140206_00',
              'conversionTimestamp': '1378710000000',
              'segmentationType': 'FLOODLIGHT',
              'segmentationName': 'Test',
              'type': 'TRANSACTION',
              'revenueMicros': '10000000', // 10 million revenueMicros is equivalent to $10 of revenue
              'currencyCode': 'USD'
              }]
      }
  )

  pprint.pprint(request.execute())

ระบุแหล่งที่มาเป็นคีย์เวิร์ดเท่านั้น

หากข้อกังวลหลักของคุณคือการระบุแหล่งที่มาของ Conversion ไปยังคีย์เวิร์ด และคุณไม่กังวลเกี่ยวกับการระบุแหล่งที่มาไปยังโฆษณา คุณก็ละเว้นตัวระบุ Search Ads 360 ส่วนใหญ่ได้ แล้วระบุเฉพาะตัวระบุของคีย์เวิร์ดพร้อมกับช่องอื่นๆ 2-3 ช่องต่อไปนี้

ฟิลด์ที่จำเป็น

  • criterionId: นี่คือตัวระบุคีย์เวิร์ด คุณรับ criterionId ได้โดยเพิ่มมาโคร TrackerId ลงใน URL ของหน้า Landing Page ดูข้อมูลเกี่ยวกับการรับรหัสคีย์เวิร์ดได้ที่รหัสและ Conversion ของ Search Ads 360
  • conversionId: สําหรับ Conversion ออฟไลน์ ผู้ลงโฆษณาจะเป็นผู้ระบุรหัสนี้ ผู้ลงโฆษณาสามารถระบุรหัสใดก็ได้ที่สื่อความหมาย Conversion แต่ละรายการในคําขอต้องระบุรหัสที่ไม่ซ้ำกัน และการรวมรหัสและการประทับเวลาต้องไม่ซ้ำกันกับ Conversion ทั้งหมดภายในผู้ลงโฆษณา สําหรับ Conversion ออนไลน์ Search Ads 360 จะคัดลอก dsConversionId หรือ floodlightOrderId ลงในพร็อพเพอร์ตี้นี้โดยขึ้นอยู่กับคําสั่ง Floodlight ของผู้ลงโฆษณา
  • conversionTimestamp: ระบุวันที่และเวลาที่เกิด Conversion ตัวอย่างเช่น หาก Conversion เกิดขึ้นในวันศุกร์ที่ 5 ส.ค. 2016 เวลา 00:53:22 น. ตามเวลาออมแสงตะวันออก (GMT -4:00) ให้ระบุการประทับเวลาเป็นมิลลิวินาทีของ Epoch: 1470412402000
  • segmentationType: ระบุประเภทระบบ Conversion ที่คุณอัปโหลด Conversion ไป ปัจจุบันระบบรองรับเฉพาะ Conversion ของ Floodlight คุณจึงต้องระบุ FLOODLIGHT ในช่องนี้เสมอ
  • segmentationName: ชื่อกิจกรรม Floodlight ที่ผู้ลงโฆษณาใช้เพื่อรายงาน Conversion

    หากผู้ลงโฆษณามีกิจกรรมที่มีชื่อเดียวกัน (กรณีนี้อาจเกิดขึ้นหากกิจกรรมอยู่ในกลุ่ม Floodlight ที่แตกต่างกัน) เราขอแนะนําให้เปลี่ยนชื่อกิจกรรมใดกิจกรรมหนึ่ง

    หรือหากทราบรหัสที่ Search Ads 360 กำหนดให้กับกิจกรรม Floodlight ก็ระบุรหัสใน segmentationId แทนการระบุชื่อในช่อง segmentationName ได้ (Campaign Manager จะกําหนดรหัสให้กับกิจกรรม Floodlight ด้วย แต่รหัส Campaign Manager จะแตกต่างจากรหัส Search Ads 360 และไม่สามารถใช้เพื่อระบุแหล่งที่มาของ Conversion ได้) หากต้องการดูรหัส Search Ads 360 สําหรับกิจกรรม Floodlight ให้ดาวน์โหลดรายงาน Conversion (จาก UI ของ Search Ads 360 หรือ Reporting API) หากมีการระบุแหล่งที่มาของ Conversion อย่างน้อย 1 รายการเป็นกิจกรรม Floodlight ในช่วงเวลาของรายงาน คุณจะเห็นรหัส Search Ads 360 ในรายงาน

  • type: ประเภท Conversion ซึ่งก็คือ ACTION หรือ TRANSACTION Conversion การกระทําไม่มีมูลค่าทางการเงิน แต่ Conversion การทำธุรกรรมมี เช่น การสมัครรับอีเมล (การกระทํา) เทียบกับการซื้อผ่านอีคอมเมิร์ซ (ธุรกรรม)

    หากระบุ TRANSACTION คุณจะต้องระบุช่องต่อไปนี้ด้วย

    • revenueMicros: มูลค่า Conversion เป็นเงิน

ช่องที่ไม่บังคับ

  • quantityMillis: จํานวนรายการใน Conversion นี้ เช่น จํานวนผู้ที่ลงชื่อสมัครรับจดหมายข่าวทางอีเมลหรือจํานวนสินค้าทั้งหมดที่ขายได้ หากคุณไม่ได้ระบุฟิลด์นี้สําหรับ Conversion การกระทำ Search Ads 360 จะแทรกค่า 1000 โดยอัตโนมัติ
  • currencyCode: สกุลเงินของรายได้จากธุรกรรม โดยค่าเริ่มต้น ระบบจะถือว่ารายได้เป็นสกุลเงินของผู้ลงโฆษณา หากคุณระบุสกุลเงินอื่น Search Ads 360 จะแปลงจํานวนรายได้ที่ระบุเป็นสกุลเงินของผู้ลงโฆษณา ดูข้อมูลเพิ่มเติม
    ใช้รูปแบบตัวอักษรของ ISO 4217 (อักขระ 3 ตัว) เพื่อระบุสกุลเงิน
    ใช้กับ Conversion ที่เกิดจากธุรกรรมเท่านั้น
  • customMetric และ customDimension: อัปโหลดข้อมูลเพิ่มเติมเกี่ยวกับ Conversion เช่น ประเทศที่จัดส่งสินค้า รหัสผลิตภัณฑ์ หรือแม้แต่ระยะเวลาการโทร ดูข้อมูลเพิ่มเติมเกี่ยวกับการอัปโหลดข้อมูลสําหรับตัวแปร Floodlight ที่กําหนดเอง
  • deviceType: ระบุประเภทของอุปกรณ์ที่เกิด Conversion ดูรายการค่าที่ยอมรับสำหรับช่องนี้

JSON

POST  https://www.googleapis.com/doubleclicksearch/v2/conversion
Authorization: Bearer your OAuth 2.0 access token
Content-type: application/json
{
 "kind": "doubleclicksearch#conversionList",
  "conversion" : [{
    "criterionId": "43700003491981017", // Replace with your ID
    "conversionId": "customerTransaction73126",
    "conversionTimestamp": "1351196386000",
    "segmentationType": "FLOODLIGHT",
    "segmentationName": "Offline Purchase",
    "type": "TRANSACTION",
    "revenueMicros": "20000000", // 20 million revenueMicros is equivalent to $20 of revenue
    "currencyCode": "USD"
  }]
}

Java

  /**
   * Creates a TRANSACTION conversion, attributes it to a keyword only, and adds it to a List<Conversion>.
   * The example in the preceding section contains the uploadConversions method,
   * which can submit the list as an insert() request.
   */
  private static List<Conversion> addTransactionConversionForKeyword(List<Conversion> conversions,
      Long criterionId, String conversionId, Long revenue, Long timeStamp) {

    Conversion conversion = new Conversion()
        .setCriterionId(criterionId)
        .setConversionId(conversionId)
        .setSegmentationType("FLOODLIGHT")
        .setSegmentationName("Test")
        .setType("TRANSACTION")
        .setRevenueMicros(revenue)
        .setCurrencyCode("USD")
        .setConversionTimestamp(BigInteger.valueOf(timeStamp));

    conversions.add(conversion);
    return conversions;
  }        

Python

def insert_conversion(service):
  """Create and upload a TRANSACTION conversion that is attributed to a keyword only.

  Args:
    service: An authorized Doubleclicksearch service. See Set Up Your Application.
  """
  request = service.conversion().insert(
      body=
      {
          'conversion': [{
              'criterionId': '43700004289911004', // Replace with your ID
              'conversionId': 'test_1378710000000',
              'conversionTimestamp': '1378710000000',
              'segmentationType': 'FLOODLIGHT',
              'segmentationName': 'Test',
              'type': 'TRANSACTION',
              'revenueMicros': '20000000', // 20 million revenueMicros is equivalent to $20 of revenue
              'currencyCode': 'USD'
              }]
      }
  )

  pprint.pprint(request.execute())

อัปโหลดข้อมูลจากรูปแบบการระบุแหล่งที่มาของบุคคลที่สาม

รูปแบบการระบุแหล่งที่มาจะกระจายเครดิตสำหรับ Conversion หนึ่งให้กับกิจกรรมทั้งหมดในเส้นทาง Conversion ตัวอย่างเช่น หากผู้บริโภคคลิกโฆษณา Search ที่เสียค่าใช้จ่าย โฆษณา Display และโฆษณา Search ที่เสียค่าใช้จ่ายอีกรายการหนึ่งก่อนทํา Conversion รูปแบบการระบุแหล่งที่มาแบบเชิงเส้นจะให้เครดิต Conversion แก่แต่ละคลิก 33%

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

ก่อนจะเริ่ม

ใน Campaign Manager ให้สร้างรูปแบบการระบุแหล่งที่มาที่กําหนดเองและนําเข้ารูปแบบนั้นไปยัง Search Ads 360 ตรวจสอบว่าคุณตั้งชื่อรูปแบบเป็นรูปแบบการระบุแหล่งที่มาภายนอก ซึ่งจะช่วยให้ฟีเจอร์ของ Search Ads 360 ทราบว่ามีการใช้รูปแบบการระบุแหล่งที่มากับข้อมูล Conversion ที่คุณอัปโหลด ดูข้อมูลเพิ่มเติม

ฟิลด์ที่จำเป็น

หากต้องการใช้รูปแบบการระบุแหล่งที่มาของบุคคลที่สามกับ Conversion ให้ระบุข้อมูลต่อไปนี้ทั้งหมดในConversion.insert()คำขอ

  • clickId: รหัสคลิกที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ของการเข้าชม ค้นหารหัสคลิกหรือรายการ Conversion ในบันทึกการใช้เว็บของผู้ลงโฆษณา และใช้รหัสคลิกจาก Conversion อื่น Search Ads 360 จะระบุแหล่งที่มาของ Conversion ไปยังคีย์เวิร์ด โฆษณา และออบเจ็กต์ Search Ads 360 อื่นๆ ที่รับผิดชอบในการสร้างการเข้าชม
    รออย่างน้อย 30 นาทีหลังจากที่ Search Ads 360 สร้างรหัสคลิกก่อนที่จะอัปโหลด Conversion ที่มีรหัส มิเช่นนั้น Search Ads 360 API อาจไม่จดจําการเข้าชม
  • attributionModel: ตั้งค่าเป็นรูปแบบการระบุแหล่งที่มาภายนอก ดูข้อมูลเพิ่มเติม
  • countMillis: จํานวนเครดิต Conversion ที่จะจัดสรรให้กับคลิกนี้ ใช้ได้เฉพาะในกรณีที่คำขอมีฟิลด์ attributionModel ด้วย

    อย่าสับสนกับ quantityMillis ซึ่งเป็นช่องที่ไม่บังคับซึ่งระบุจํานวนรายการใน Conversion (เช่น จํานวนรายการในการซื้อจากรถเข็นช็อปปิ้ง)

  • conversionId: สําหรับ Conversion ออฟไลน์ ผู้ลงโฆษณาจะเป็นผู้ระบุรหัสนี้ ผู้ลงโฆษณาสามารถระบุรหัสใดก็ได้ที่สื่อความหมาย Conversion แต่ละรายการในคําขอต้องระบุรหัสที่ไม่ซ้ำกัน และการรวมรหัสและการประทับเวลาต้องไม่ซ้ำกันกับ Conversion ทั้งหมดภายในผู้ลงโฆษณา สําหรับ Conversion ออนไลน์ Search Ads 360 จะคัดลอก dsConversionId หรือ floodlightOrderId ลงในพร็อพเพอร์ตี้นี้โดยขึ้นอยู่กับคําสั่ง Floodlight ของผู้ลงโฆษณา
  • conversionTimestamp: ระบุวันที่และเวลาที่เกิด Conversion ตัวอย่างเช่น หาก Conversion เกิดขึ้นในวันศุกร์ที่ 5 ส.ค. 2016 เวลา 00:53:22 น. ตามเวลาออมแสงตะวันออก (GMT -4:00) ให้ระบุการประทับเวลาเป็นมิลลิวินาทีของ Epoch: 1470412402000
  • segmentationType: ระบุประเภทระบบ Conversion ที่คุณอัปโหลด Conversion ไป ปัจจุบันระบบรองรับเฉพาะ Conversion ของ Floodlight คุณจึงต้องระบุ FLOODLIGHT ในช่องนี้เสมอ
  • segmentationName: ชื่อกิจกรรม Floodlight ที่ผู้ลงโฆษณาใช้เพื่อรายงาน Conversion

    หากผู้ลงโฆษณามีกิจกรรมที่มีชื่อเดียวกัน (กรณีนี้อาจเกิดขึ้นหากกิจกรรมอยู่ในกลุ่ม Floodlight ที่แตกต่างกัน) เราขอแนะนําให้เปลี่ยนชื่อกิจกรรมใดกิจกรรมหนึ่ง

    หรือหากทราบรหัสที่ Search Ads 360 กำหนดให้กับกิจกรรม Floodlight ก็ระบุรหัสใน segmentationId แทนการระบุชื่อในช่อง segmentationName ได้ (Campaign Manager จะกําหนดรหัสให้กับกิจกรรม Floodlight ด้วย แต่รหัส Campaign Manager จะแตกต่างจากรหัส Search Ads 360 และไม่สามารถใช้เพื่อระบุแหล่งที่มาของ Conversion ได้) หากต้องการดูรหัส Search Ads 360 สําหรับกิจกรรม Floodlight ให้ดาวน์โหลดรายงาน Conversion (จาก UI ของ Search Ads 360 หรือ Reporting API) หากมีการระบุแหล่งที่มาของ Conversion อย่างน้อย 1 รายการเป็นกิจกรรม Floodlight ในช่วงเวลาของรายงาน คุณจะเห็นรหัส Search Ads 360 ในรายงาน

  • type: ประเภท Conversion ซึ่งก็คือ ACTION หรือ TRANSACTION Conversion การกระทําไม่มีมูลค่าทางการเงิน แต่ Conversion การทำธุรกรรมมี เช่น การสมัครรับอีเมล (การกระทํา) เทียบกับการซื้อผ่านอีคอมเมิร์ซ (ธุรกรรม)

    หากระบุ TRANSACTION คุณจะต้องระบุช่องต่อไปนี้ด้วย

    • revenueMicros: มูลค่า Conversion เป็นเงิน

หากคุณติดตามรายได้จาก Conversion โปรดตรวจสอบว่ารูปแบบของคุณกระจายรายได้ไปยังทัชพอยต์แต่ละจุดในเส้นทาง Conversion ตัวอย่างเช่น หากรูปแบบใช้แนวทางเชิงเส้น (กระจายรายได้เท่าๆ กันในแต่ละทัชพอยต์) ในเส้นทาง Conversion ที่มีการคลิกโฆษณา 3 ครั้ง การคลิกแต่ละครั้งจะได้รับการระบุแหล่งที่มาว่าเป็นแหล่งที่มาของ Conversion 33% หาก Conversion ได้รับรายได้ 3,000 บาท ให้ตรวจสอบว่ารูปแบบของคุณกระจายรายได้ 1,120 บาทให้กับแต่ละคลิก และตรวจสอบว่า revenueMicros ระบุรายได้เพียง 1,120 บาทสําหรับแต่ละคลิก

ช่องที่ไม่บังคับ

  • quantityMillis: จํานวนรายการใน Conversion นี้ เช่น จํานวนผู้ที่ลงชื่อสมัครรับจดหมายข่าวทางอีเมลหรือจํานวนสินค้าทั้งหมดที่ขายได้ หากคุณไม่ได้ระบุฟิลด์นี้สําหรับ Conversion การกระทำ Search Ads 360 จะแทรกค่า 1000 โดยอัตโนมัติ
  • currencyCode: สกุลเงินของรายได้จากธุรกรรม โดยค่าเริ่มต้น ระบบจะถือว่ารายได้เป็นสกุลเงินของผู้ลงโฆษณา หากคุณระบุสกุลเงินอื่น Search Ads 360 จะแปลงจํานวนรายได้ที่ระบุเป็นสกุลเงินของผู้ลงโฆษณา ดูข้อมูลเพิ่มเติม
    ใช้รูปแบบตัวอักษรของ ISO 4217 (อักขระ 3 ตัว) เพื่อระบุสกุลเงิน
    ใช้กับ Conversion ที่เกิดจากธุรกรรมเท่านั้น
  • customMetric และ customDimension: อัปโหลดข้อมูลเพิ่มเติมเกี่ยวกับ Conversion เช่น ประเทศที่จัดส่งสินค้า รหัสผลิตภัณฑ์ หรือแม้แต่ระยะเวลาการโทร ดูข้อมูลเพิ่มเติมเกี่ยวกับการอัปโหลดข้อมูลสําหรับตัวแปร Floodlight ที่กําหนดเอง
  • deviceType: ระบุประเภทของอุปกรณ์ที่เกิด Conversion ดูรายการค่าที่ยอมรับสำหรับช่องนี้

ตัวอย่าง

POST  https://www.googleapis.com/doubleclicksearch/v2/conversion
Authorization: Bearer your OAuth 2.0 access token
Content-type: application/json
{
 "kind": "doubleclicksearch#conversionList",
  "conversion" : [{
    "clickId" : "PP5K8iI6ul7Vw09JZZDEp", // Replace with a click ID from your site
    "conversionId" : "test_20130906_04",
    "conversionTimestamp" : "1378710000000",
    "segmentationType" : "FLOODLIGHT",
    "segmentationName" : "Test",
    "type": "TRANSACTION",
    "attributionModel": "External Attribution Model",
    "countMillis": "330",
    "revenueMicros": "33000000", // 33 million revenueMicros is equivalent to $33 of revenue
    "currencyCode": "USD"
  }]
}
          

จัดการคําตอบของ Search Ads 360

การตอบกลับจาก Search Ads 360 จะระบุว่าสําเร็จก็ต่อเมื่อระบบตรวจสอบและอัปโหลด Conversion ทั้งหมดในคําขอเรียบร้อยแล้ว

หากคำขอสำเร็จ

หากคําขอสําเร็จ การตอบกลับจะมีการแสดงข้อมูลภายในของ Search Ads 360 แบบเต็มสําหรับ Conversion ที่อัปโหลดแต่ละรายการ เช่น รหัสแคมเปญ รหัสกลุ่มโฆษณา และรหัสคีย์เวิร์ด (เกณฑ์)

{
 "kind": "doubleclicksearch#conversionList",
 "conversion": [
  {
   "agencyId": "12300000000000456",
   "advertiserId": "45600000000010291",
   "engineAccountId": "700000000042441",
   "campaignId": "71700000002044839",
   "adGroupId": "58700000032026064",
   "criterionId": "43700004289911004",
   "adId": "0",
   "dsConversionId": "48719131694768384",
   "conversionId": "test_1383157331951",
   "state": "ACTIVE",
   "type": "TRANSACTION",
   "revenueMicros": "20000000",
   "currencyCode": "USD",
   "segmentationType": "FLOODLIGHT",
   "segmentationId": "25700000001464141",
   "segmentationName": "Test",
   "conversionTimestamp": "1378710000000",
   "conversionModifiedTimestamp": "1383157332368"
  },
  ...
 ]
}

หากคำขอไม่สำเร็จ

หากตรวจสอบหรืออัปโหลด Conversion อย่างน้อย 1 รายการไม่สําเร็จ การตอบกลับจะมีข้อความสําหรับการอัปโหลด Conversion แต่ละรายการที่ไม่สําเร็จ การตอบกลับไม่มีข้อความเกี่ยวกับ Conversion ที่อัปโหลดสําเร็จ

ต่อไปนี้คือตัวอย่างการตอบกลับคำขอที่ไม่สำเร็จอย่างสมบูรณ์

{
 "error": {
    "errors": [
       {
          "reason": "requestValidation",
          "message": "The request was not valid. Details: [0x0000011F: Advertiser conversion ID ..."
       },
       {
          "reason": "requestValidation",
          "message": "The request was not valid. Details:  [0x00000101: Click ID ..."
       }
    ]
  }
}

ข้อความแสดงข้อผิดพลาดแต่ละรายการจะมี 2 ช่องสำคัญ ได้แก่ เหตุผลและข้อความแสดงข้อผิดพลาดโดยละเอียด ช่องเหตุผลอาจมี requestValidation, internalError, transactionFailed หรือ lateStageRequestError

ข้อผิดพลาดเกี่ยวกับ requestValidation

ข้อผิดพลาด requestValidation บ่งบอกถึงปัญหาเกี่ยวกับข้อมูลในคําขออัปโหลด Conversion (เช่น อัปโหลด Conversion ไปแล้ว หรือไม่พบ clickId) ในข้อผิดพลาดประเภทนี้ ข้อความ details จะมี 2 รายการดังนี้

  • รหัสฐาน 16 ที่ระบุประเภทของข้อผิดพลาด คุณสามารถใช้โค้ดนี้ในสคริปต์ของคุณเองเพื่อระบุข้อผิดพลาด
  • คำอธิบายของข้อผิดพลาดในการตรวจสอบ

ดูข้อมูลเพิ่มเติมได้ที่รายการรหัสและคําอธิบายที่ Search Ads 360 แสดงสําหรับข้อผิดพลาดในการอัปโหลด Conversion

ข้อผิดพลาดประเภทอื่นๆ

ข้อผิดพลาดประเภทอื่นๆ ทั้งหมด (internalError, transactionFailed หรือ lateStageRequestError) บ่งชี้ว่า Search Ads 360 มีปัญหาภายใน

การตอบสนองต่อข้อผิดพลาด

หากคำขอไม่สำเร็จ ให้ลองส่งการเรียกคำขอทั้งหมดอีกครั้งในภายหลัง Search Ads 360 จะรายงานข้อผิดพลาด requestValidation สําหรับ Conversion ที่อัปโหลดไปแล้ว แต่ก็จะพยายามอัปโหลด Conversion ที่เหลือ

หากยังพบข้อผิดพลาดหลังจากส่งอีกครั้ง โปรดดูข้อมูลเกี่ยวกับวิธีดำเนินการต่อในส่วนการแก้ปัญหา