ส่งกิจกรรม

คุณสามารถทำตามการเริ่มต้นอย่างรวดเร็วนี้เพื่อทำความคุ้นเคยกับการส่งข้อมูลเหตุการณ์

ใช้ Data Manager API สำหรับสถานการณ์ต่อไปนี้

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

  • เหตุการณ์ออฟไลน์: ส่งข้อมูลเหตุการณ์สําหรับ Conversion ออฟไลน์หรือ Conversion ที่ปรับปรุงแล้วสำหรับโอกาสในการขาย

เลือกเวอร์ชันของคู่มือที่ต้องการดู

ในการเริ่มต้นอย่างรวดเร็วนี้ คุณจะได้ทำตามขั้นตอนต่อไปนี้

  1. เตรียม Destination เพื่อรับข้อมูลเหตุการณ์
  2. เตรียมข้อมูลเหตุการณ์ที่จะส่ง
  3. สร้างคำขอ IngestionService สำหรับ เหตุการณ์
  4. ส่งคำขอด้วย Google APIs Explorer
  5. ทำความเข้าใจการตอบกลับที่สำเร็จและไม่สำเร็จ

เตรียมปลายทาง

ก่อนที่จะส่งข้อมูลได้ คุณต้องเตรียมปลายทางเพื่อส่งข้อมูลไปที่นั่น นี่คือDestinationตัวอย่างที่คุณใช้ได้

    {
      "operatingAccount": {
        "product": "GOOGLE_ADS",
        "accountId": "OPERATING_ACCOUNT_ID"
      },

      "productDestinationId": "CONVERSION_ACTION_1_ID"
    }
  • ตั้งค่า accountId ของ operatingAccount เป็นรหัสบัญชี Google Ads ที่จะได้รับข้อมูลเหตุการณ์ product ของ operatingAccount ต้องเป็น GOOGLE_ADS
  • ตั้งค่า productDestinationId เป็นรหัสของการกระทำที่ถือเป็น Conversion สำหรับ เหตุการณ์ สําหรับกิจกรรมออนไลน์ การกระทำที่ถือเป็น Conversion ต้องเป็นการกระทำที่ถือเป็น Conversion ของ Google Ads ที่มี type ตั้งค่าเป็น WEBPAGE สําหรับเหตุการณ์ออฟไลน์ การกระทําที่ถือเป็น Conversion ต้องเป็นการกระทําที่ถือเป็น Conversion ของ Google Ads ที่มีtype ตั้งค่าเป็น UPLOAD_CLICKS

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

เตรียมข้อมูลเหตุการณ์

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

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

ข้อมูลของเหตุการณ์แรกมีดังนี้

กิจกรรม #1
conversion_time 2025-06-10 15:07:01-05:00
conversion_action_id 123456789
transaction_id ABC798654321
conversion_value 1.99
currency USD
gclid GCLID_1
emails
given_name John
family_name Smith-Jones
region_code us
postal_code 94045
customer_type NEW
customer_value_bucket HIGH

ข้อมูลของเหตุการณ์ที่ 2 มีดังนี้

กิจกรรม #2
conversion_time June 10, 2025 11:42:33PM America/New_York
conversion_action_id 123456789
transaction_id DEF999911111
conversion_value 3.25
currency eur
gclid GCLID_2
emails

zoe@EXAMPLE.COM

cloudy.sanfrancisco@gmail.com

given_name zoë
family_name pérez
region_code PT
postal_code 1229-076
customer_type RETURNING

จัดรูปแบบข้อมูล

จัดรูปแบบฟิลด์ตามที่ระบุไว้ในคำแนะนำ การจัดรูปแบบ ข้อมูลของเหตุการณ์แรกหลังการจัดรูปแบบมีดังนี้

กิจกรรม #1
conversion_time 2025-06-10 15:07:01-05:00
conversion_action_id 123456789
transaction_id ABC798654321
conversion_value 1.99
currency USD
gclid GCLID_1
emails
given_name john
family_name smith-jones
region_code US
postal_code 94045
customer_type NEW
customer_value_bucket HIGH

ข้อมูลของกิจกรรมที่ 2 หลังจากจัดรูปแบบแล้วมีดังนี้

กิจกรรม #2
conversion_time 2025-06-10T23:42:33-05:00
conversion_action_id 123456789
transaction_id DEF999911111
conversion_value 3.25
currency EUR
gclid GCLID_2
emails

zoe@example.com

cloudysanfrancisco@gmail.com

given_name zoë
family_name pérez
region_code PT
postal_code 1229-076
customer_type RETURNING

แฮชและเข้ารหัสข้อมูล

นอกจากนี้ ที่อยู่อีเมล ชื่อ และนามสกุลที่จัดรูปแบบแล้วต้อง ได้รับการแฮชโดยใช้อัลกอริทึม SHA-256 และเข้ารหัสโดยใช้การเข้ารหัสฐานสิบหกหรือ Base64 ข้อมูลของเหตุการณ์แรกหลังจากจัดรูปแบบ แฮช และเข้ารหัส โดยใช้การเข้ารหัสฐานสิบหกมีดังนี้

กิจกรรม #1
conversion_time 2025-06-10 15:07:01-05:00
conversion_action_id 123456789
transaction_id ABC798654321
conversion_value 1.99
currency USD
gclid GCLID_1
emails
given_name 96D9632F363564CC3032521409CF22A852F2032EEC099ED5967C0D000CEC607A
family_name DB98D2607EFFFA28AFF66975868BF54C075ECA7157E35064DCE08E20B85B1081
region_code US
postal_code 94045
customer_type NEW
customer_value_bucket HIGH

ข้อมูลเหตุการณ์ที่ 2 หลังจากจัดรูปแบบ แฮช และเข้ารหัสโดยใช้การเข้ารหัสฐาน 16 มีดังนี้

กิจกรรม #2
conversion_time 2025-06-10T23:42:33-05:00
conversion_action_id 123456789
transaction_id DEF999911111
conversion_value 3.25
currency EUR
gclid GCLID_2
emails

3E693CF7E5B67880BFF33B2D2626DADB7BF1D4BC737192E47CF8BAA89ACF2250

223EBDA6F6889B1494551BA902D9D381DAF2F642BAE055888E96343D53E9F9C4

given_name 2752B88686847FA5C86F47B94CE652B7B3F22A91C37617D451A4DB9AFA431450
family_name 6654977D57DDDD3C0329CA741B109EF6CD6430BEDD00008AAD213DF25683D77F
region_code PT
postal_code 1229-076
customer_type RETURNING

แปลงข้อมูลเป็น Event

แปลงข้อมูลที่จัดรูปแบบและแฮชของแต่ละเหตุการณ์เป็น Event กรอกข้อมูลในช่องที่ต้องกรอกต่อไปนี้

  • event_timestamp: เวลาที่เกิดเหตุการณ์
  • transaction_id: ตัวระบุที่ไม่ซ้ำกันสำหรับเหตุการณ์
  • event_source: แหล่งที่มาของเหตุการณ์ ต้องระบุสำหรับเหตุการณ์ออฟไลน์ ไม่บังคับสำหรับกิจกรรมออนไลน์ หากระบุสำหรับกิจกรรมออนไลน์ ต้องเป็น WEB
  • ad_identifiers หรือ user_data: เหตุการณ์ต้องมีตัวระบุโฆษณา หรือข้อมูลผู้ใช้ ส่งทั้ง 2 อย่างหากคุณมีทั้ง 2 อย่างสำหรับกิจกรรม

ดูรายการฟิลด์ทั้งหมดที่ใช้ได้ในเอกสารอ้างอิงของ Event ป้อนข้อมูลในช่องที่มีค่าสำหรับเหตุการณ์

นี่คือตัวอย่าง Event สำหรับข้อมูลที่จัดรูปแบบ แฮช และเข้ารหัสจากเหตุการณ์ที่ 2

{
   "adIdentifiers": {
      "gclid": "GCLID_2"
   },
   "conversionValue": 3.25,
   "currency": "EUR",
   "eventTimestamp": "2025-06-10T23:42:33-05:00",
   "transactionId": "DEF999911111",
   "eventSource": "WEB",
   "userData": {
      "userIdentifiers": [
         {
            "emailAddress": "3E693CF7E5B67880BFF33B2D2626DADB7BF1D4BC737192E47CF8BAA89ACF2250"
         },
         {
            "emailAddress": "223EBDA6F6889B1494551BA902D9D381DAF2F642BAE055888E96343D53E9F9C4"
         },
         {
            "address": {
              "givenName": "2752B88686847FA5C86F47B94CE652B7B3F22A91C37617D451A4DB9AFA431450",
              "familyName": "6654977D57DDDD3C0329CA741B109EF6CD6430BEDD00008AAD213DF25683D77F",
              "regionCode": "PT",
              "postalCode": "1229-076"
            }
         }
      ],
      "userProperties": {
        "customerType": "RETURNING"
      }
   }
}

สร้างเนื้อหาคำขอ

รวม Destination และ Events สำหรับเนื้อหาคำขอ

{
  "destinations": [
    {
      "operatingAccount": {
        "product": "GOOGLE_ADS",
        "accountId": "OPERATING_ACCOUNT_ID"
      },

      "productDestinationId": "CONVERSION_ACTION_1_ID"
    }
  ],
  "encoding": "HEX",
  "events": [
     {
       "adIdentifiers": {
         "gclid": "GCLID_1"
       },
       "conversionValue": 1.99,
       "currency": "USD",
       "eventTimestamp": "2025-06-10T20:07:01Z",
       "transactionId": "ABC798654321",
       "eventSource": "WEB",
       "userData": {
         "userIdentifiers": [
           {
             "address": {
               "givenName": "96D9632F363564CC3032521409CF22A852F2032EEC099ED5967C0D000CEC607A",
               "familyName": "DB98D2607EFFFA28AFF66975868BF54C075ECA7157E35064DCE08E20B85B1081",
               "regionCode": "US",
               "postalCode": "94045"
             }
           }
         ]
       },
       "userProperties": {
         "customerType": "NEW",
         "customerValueBucket": "HIGH"
       }
     },
     {
       "adIdentifiers": {
         "gclid": "GCLID_2"
       },
       "conversionValue": 3.25,
       "currency": "EUR",
       "eventTimestamp": "2025-06-11T04:42:33Z",
       "transactionId": "DEF999911111",
       "eventSource": "WEB",
       "userData": {
         "userIdentifiers": [
           {
             "emailAddress": "3E693CF7E5B67880BFF33B2D2626DADB7BF1D4BC737192E47CF8BAA89ACF2250"
           },
           {
             "emailAddress": "223EBDA6F6889B1494551BA902D9D381DAF2F642BAE055888E96343D53E9F9C4"
           },
           {
             "address": {
               "givenName": "2752B88686847FA5C86F47B94CE652B7B3F22A91C37617D451A4DB9AFA431450",
               "familyName": "6654977D57DDDD3C0329CA741B109EF6CD6430BEDD00008AAD213DF25683D77F",
               "regionCode": "PT",
               "postalCode": "1229-076"
             }
           }
         ]
       },
       "userProperties": {
         "customerType": "RETURNING"
       }
     }
  ],
  "validateOnly": true
}
  1. อัปเดตตัวยึดตำแหน่งในเนื้อหา เช่น OPERATING_ACCOUNT_ID และ CONVERSION_ACTION_1_ID ด้วยค่าสำหรับบัญชี และปลายทาง
  2. ตั้งค่า validateOnly เป็น true เพื่อตรวจสอบคำขอโดยไม่ต้องใช้การเปลี่ยนแปลง เมื่อพร้อมที่จะใช้การเปลี่ยนแปลงแล้ว ให้ตั้งค่า validateOnly เป็น false
  3. โปรดทราบว่าตัวอย่างนี้ไม่ได้ใช้การเข้ารหัส

ส่งคำขอ

  1. คัดลอกเนื้อหาคำขอโดยใช้ปุ่มคัดลอกที่ด้านขวาบนของตัวอย่าง
  2. ไปที่หน้าevents.ingest
  3. คลิกปุ่ม API ทางด้านขวา แล้วคลิกปุ่มลองเลยในส่วนที่ขยาย
  4. วางเนื้อหาคำขอที่คัดลอกลงในช่องเนื้อหาคำขอ
  5. คลิกปุ่มดำเนินการ ทำตามข้อความแจ้งการให้สิทธิ์ และตรวจสอบ คำตอบ

การตอบกลับที่สำเร็จ

คำขอที่สำเร็จจะแสดงการตอบกลับพร้อมออบเจ็กต์ที่มี requestId

{
  "requestId": "126365e1-16d0-4c81-9de9-f362711e250a"
}

การตอบกลับที่ล้มเหลว

คำขอที่ไม่สำเร็จจะส่งผลให้รหัสสถานะการตอบกลับข้อผิดพลาด เช่น 400 Bad Request และการตอบกลับที่มีรายละเอียดข้อผิดพลาด

ตัวอย่างเช่น email_address ที่มีสตริงข้อความธรรมดาแทนค่าที่เข้ารหัสฐาน 16 จะสร้างการตอบกลับต่อไปนี้

{
  "error": {
    "code": 400,
    "message": "There was a problem with the request.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "INVALID_ARGUMENT",
        "domain": "datamanager.googleapis.com"
      },
      {
        "@type": "type.googleapis.com/google.rpc.BadRequest",
        "fieldViolations": [
          {
            "field": "events.events[0].user_data.user_identifiers",
            "description": "Email is not hex encoded.",
            "reason": "INVALID_HEX_ENCODING"
          }
        ]
      }
    ]
  }
}

email_address ที่ไม่ได้แฮชและเข้ารหัสฐาน 16 เท่านั้นจะสร้างการตอบกลับต่อไปนี้

{
  "error": {
    "code": 400,
    "message": "There was a problem with the request.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "INVALID_ARGUMENT",
        "domain": "datamanager.googleapis.com"
      },
      {
        "@type": "type.googleapis.com/google.rpc.BadRequest",
        "fieldViolations": [
          {
            "field": "events.events[0]",
            "reason": "INVALID_SHA256_FORMAT"
          }
        ]
      }
    ]
  }
}

ส่งเหตุการณ์สำหรับปลายทางหลายแห่ง

หากข้อมูลมีเหตุการณ์สําหรับปลายทางต่างๆ คุณสามารถส่งเหตุการณ์เหล่านั้นในคําขอเดียวกันได้โดยใช้การอ้างอิงปลายทาง

เช่น หากคุณมีเหตุการณ์สําหรับรหัสการกระทําที่ถือเป็น Conversion 123456789 และ อีกเหตุการณ์สําหรับรหัสการกระทําที่ถือเป็น Conversion 777111122 ให้ส่งทั้ง 2 เหตุการณ์ในคําขอเดียว โดยตั้งค่า reference ของแต่ละ Destination reference คือ สิ่งที่ผู้ใช้กำหนด ข้อกำหนดอย่างเดียวคือ Destination แต่ละรายการต้องมี reference ที่ไม่ซ้ำกัน รายการ destinations ที่แก้ไขสำหรับคำขอมีดังนี้

  "destinations": [
    {
      "operatingAccount": {
        "product": "GOOGLE_ADS",
        "accountId": "OPERATING_ACCOUNT_ID"
      },

      "productDestinationId": "123456789"
      "reference": "conversion_action_1"
    },
    {
      "operatingAccount": {
        "product": "GOOGLE_ADS",
        "accountId": "OPERATING_ACCOUNT_ID"
      },

      "productDestinationId": "777111122"
      "reference": "conversion_action_2"
    }
  ]

ตั้งค่า destination_references ของ Event แต่ละรายการเพื่อส่งไปยังปลายทางที่เฉพาะเจาะจงอย่างน้อย 1 แห่ง ตัวอย่างเช่น นี่คือ Event ที่ใช้สำหรับ Destination แรกเท่านั้น Destination ดังนั้นลิสต์ destination_references จึงมีเฉพาะ reference ของ Destination แรก

{
   "adIdentifiers": {
      "gclid": "GCLID_1"
   },
   "conversionValue": 1.99,
   "currency": "USD",
   "eventTimestamp": "2025-06-10T20:07:01Z",
   "transactionId": "ABC798654321",
   "eventSource": "WEB",
   "destinationReferences": [
      "conversion_action_1"
   ]
}

ฟิลด์ destination_references เป็นรายการ คุณจึงระบุปลายทางหลายรายการสำหรับเหตุการณ์ได้ หากคุณไม่ได้ตั้งค่า destination_references ของ Event API ของ Data Manager จะส่งเหตุการณ์ไปยังปลายทางทั้งหมดในคำขอ

ขั้นตอนถัดไป