API คอนเวอร์ชั่นช่วยให้ผู้ลงโฆษณาสามารถส่งเหตุการณ์การส่งข้อความบนเว็บ ในแอพ ที่หน้าร้าน และในธุรกิจไปยัง Meta ผ่านตำแหน่งข้อมูลเดียว แทนที่จะต้องใช้หลายแหล่ง การรวมข้อมูลเช่นนี้จะช่วยลดความซับซ้อนของสแต็กเทคโนโลยีของผู้ลงโฆษณา และสร้างมุมมองที่ครอบคลุมมากขึ้นภายในตัวจัดการเหตุการณ์ของ Meta โดยใช้ชุดข้อมูล
เอกสารฉบับนี้จะให้คำแนะนำในการผสานการทำงานเหตุการณ์ในแอพเข้ากับ API คอนเวอร์ชั่น
เหตุการณ์ในแอพที่ส่งผ่าน API คอนเวอร์ชั่นจะต้องเชื่อมโยงกับชุดข้อมูล
Datasets allow advertisers to connect and manage event data from web, app, store and business messaging event sources to the Conversions API. Datasets may show event data from any of these integrations that you choose to set up:
Datasets enable you to view all customer activities from a single interface. They also allow you to reduce the effort to build and maintain multiple API integrations.
In Events Manager, advertisers have different options to create a dataset depending on their starting point. Or you can create a brand new dataset in Events Manager by linking during offline event set creation or through an existing mobile app or during messaging event set creation information. Note that linking a dataset to an application is required before sending mobile app events to the Conversions API and only one application can be linked to a dataset. See more details and instructions here.
คุณสามารถเรียกใช้ GET
ไปยัง https://graph.facebook.com/v16.0/{ads-pixel-id}/is_consolidated_container เพื่อตรวจสอบว่าชุดข้อมูลของผู้ลงโฆษณาถูกรวมเข้าด้วยกันและมีสิทธิ์ส่งเหตุการณ์ในแอพผ่าน API คอนเวอร์ชั่นหรือไม่
a. การลิงก์ ID ชุดข้อมูลและ ID ของแอพ
ในตัวจัดการเหตุการณ์ จะมีวิธีลิงก์แอพของคุณกับชุดข้อมูลอยู่ 2 วิธีดังนี้
เมื่อคุณลิงก์เสร็จแล้ว ชุดข้อมูลจะมีแอพที่เชื่อมต่อด้วย
b. ช่องที่ต้องระบุ
คุณสามารถดูชุดพารามิเตอร์ปัจจุบันที่สามารถส่งผ่าน API คอนเวอร์ชั่นได้ที่นี่ สำหรับการส่งเหตุการณ์ในแอพ คุณสามารถแชร์ช่อง server_event ต่อไปนี้ในเพย์โหลด
action_source
ต้องมีค่า app
สำหรับเหตุการณ์ในแอพevent_id
สำหรับกรณีการตั้งค่าการลบเหตุการณ์ซ้ำซ้อนParameter | Description |
---|---|
advertiser_tracking_enabled boolean | Required for app events Use this field to specify ATT permission on an iOS 14.5+ device. Set to |
application_tracking_enabled boolean | Required for app events A person can choose to enable ad tracking on an app level. Your SDK should allow an app developer to put an opt-out setting into their app. Use this field to specify the person's choice. Use |
extinfo object Please use the down arrow to the right to see the list of | Required for app events Extended device information, such as screen width and height. This parameter is an array and values are separated by commas. When using Note:
|
campaign_ids string | Optional An encrypted string and non-user metadata appended to the outbound URL (for example, ad_destination_url) or deep link (for App Aggregated Event Manager) when a user clicked on a link from Facebook. Graph API definition: Parameter passed via the deep link for Mobile App Engagement campaigns. |
install_referrer string | Optional |
installer_package string | Optional Used internally by the Android SDKs |
url_schemes array | Optional Used internally by the iOS and Android SDKs. |
vendor_id string | Optional Vendor ID. |
windows_attribution_id string | Optional Attribution token used for Windows 10. |
พารามิเตอร์ | คำอธิบาย |
---|---|
anon_id สตริง | ไม่ต้องแฮช |
madid สตริง | ไม่ต้องแฮช |
พารามิเตอร์ | คำอธิบาย |
---|---|
description สตริง | ระบุหรือไม่ก็ได้ |
level สตริง | ระบุหรือไม่ก็ได้ |
max_rating_value | ระบุหรือไม่ก็ได้ |
success บูลีน | ระบุหรือไม่ก็ได้ |
โดยสรุปแล้ว เหตุการณ์ในแอพที่แชร์โดยใช้ API คอนเวอร์ชั่นจะต้องมีพารามิเตอร์ข้อมูลต่อไปนี้
action_source
: ต้องตั้งเป็น "แอพ" (เมื่อคุณใช้ API คอนเวอร์ชั่น แสดงว่าคุณยอมรับว่าพารามิเตอร์ action_source
นั้นถูกต้องตามขอบเขตความเข้าใจสูงสุดที่คุณมี)event_id
: จำเป็นต้องระบุสำหรับการตั้งค่าการลบเหตุการณ์ซ้ำซ้อน โปรดดูรายละเอียดในส่วน "ตั้งค่าการลบเหตุการณ์ซ้ำซ้อนสำหรับหลายช่องทาง"ด้านล่างนี้คือตัวอย่างของ extinfo
ตรวจสอบให้แน่ใจว่าได้กรอกพารามิเตอร์ย่อยทั้งหมดด้านล่างและเรียงตามลำดับ หากมีพารามิเตอร์ใดหายไป ให้ใช้สตริงเปล่าเป็นตัวยึดตำแหน่ง
ชื่อพารามิเตอร์ย่อย | จำเป็นต้องระบุหรือไม่ | ประเภทของข้อมูล | ตัวอย่าง |
---|---|---|---|
เวอร์ชั่นของ extinfo | ใช่ | สตริง |
|
ชื่อแพ็คเกจแอพ | ไม่ใช่ | สตริง |
|
แบบสั้น | ไม่ใช่ | สตริง |
|
แบบยาว | ไม่ใช่ | สตริง |
|
เวอร์ชั่นของระบบปฏิบัติการ | ใช่ | สตริง |
|
ชื่อรุ่นของอุปกรณ์ | ไม่ใช่ | สตริง |
|
ภาษา | ไม่ใช่ | สตริง |
|
ตัวย่อเขตเวลา | ไม่ใช่ | สตริง |
|
ผู้ให้บริการ | ไม่ใช่ | สตริง |
|
ความกว้างของหน้าจอ | ไม่ใช่ | สตริง |
|
ความสูงของหน้าจอ | ไม่ใช่ | สตริง |
|
ความหนาแน่นของหน้าจอ | ไม่ใช่ | สตริง |
|
จำนวน Core ของ CPU | ไม่ใช่ | สตริง |
|
ขนาดของพื้นที่เก็บข้อมูลภายนอก | ไม่ใช่ | สตริง |
|
พื้นที่ว่างในขนาดของพื้นที่เก็บข้อมูลภายนอก | ไม่ใช่ | สตริง |
|
โซนเวลาของอุปกรณ์ | ไม่ใช่ | สตริง |
|
c. ตั้งค่าการลบเหตุการณ์ซ้ำซ้อนสำหรับหลายช่องทาง
จะต้องมีกลไกการลบเหตุการณ์ซ้ำซ้อนเพื่อลบการรับส่งข้อมูลเหตุการณ์ที่ซ้ำกันระหว่างการผสานการทำงาน API คอนเวอร์ชั่นและการผสานการทำงานอื่นๆ ที่มีอยู่ทั้งหมดที่คุณมีกับเหตุการณ์ในแอพ ซึ่งประกอบด้วย SDK, MMP และ API เหตุการณ์ในแอพ
สำหรับเหตุการณ์ในแอพ เราใช้ฟังก์ชั่นการลบเหตุการณ์ซ้ำซ้อนแบบเดียวกับที่มีอยู่สำหรับเหตุการณ์บนเว็บ ตรรกะจะใช้ประโยชน์จากช่อง event_id
และ event_name
ตามการลบเหตุการณ์ซ้ำซ้อน (เหตุการณ์ API คอนเวอร์ชั่นและ SDK / API เหตุการณ์ในแอพที่มี event_id
เดียวกัน) พารามิเตอร์ event_id คือตัวระบุที่สามารถแยกความแตกต่างระหว่างเหตุการณ์ที่คล้ายกันได้โดยไม่ซ้ำกัน ID เหตุการณ์ที่ไม่ถูกต้องอาจทำให้คอนเวอร์ชั่นของคุณมีการลบเหตุการณ์ซ้ำซ้อนอย่างไม่ถูกต้อง ซึ่งส่งผลต่อการรายงานคอนเวอร์ชั่นและประสิทธิภาพของแคมเปญ
คุณสามารถดูเอกสารสำหรับผู้พัฒนาต่อไปนี้เพื่อนำการตั้งค่าการลบเหตุการณ์ซ้ำซ้อนไปใช้
นี่คือตัวอย่างวิธีลงบันทึกเหตุการณ์ที่กำหนดเอง โดยมีวิธีคือ ให้ส่งชื่อของเหตุการณ์เป็น AppEvents.Name ใน SDK สำหรับ iOS:
AppEvents.shared.logEvent(.achievedLevel, parameters: [AppEvents.ParameterName(rawValue: "event_id"): "123"])
สำหรับเหตุการณ์การติดตั้งแอพจะมีกลไกการลบเหตุการณ์ซ้ำซ้อนอยู่แล้ว ซึ่งจะช่วยให้แน่ใจว่าในกรอบเวลา 90 วันที่ผ่านมามีการติดตั้งเพียงครั้งเดียวเท่านั้น เราจะเก็บเหตุการณ์แรกไว้และทิ้งเหตุการณ์ที่เกิดขึ้นภายหลังไม่ว่าเหตุการณ์นั้นจะมาจากแหล่งที่มาของการดำเนินการใดก็ตาม ส่วนการดำเนินการลบเหตุการณ์ซ้ำซ้อนสำหรับเหตุการณ์ในแอพที่เกี่ยวข้องกับเหตุการณ์การติดตั้งนั้นไม่มีข้อกำหนดแต่อย่างใด
d. การส่งเหตุการณ์
หากต้องการส่งเหตุการณ์ใหม่ ให้ส่งคำขอ POST
ไปยัง API คอนเวอร์ชั่นจากเส้นทางนี้: https://graph.facebook.com/{API_VERSION}/{DATASET_ID}/events?access_token={TOKEN}
เมื่อคุณโพสต์ไปยังจุดเชื่อมโยงนี้ Meta จะสร้างเหตุการณ์บนเซิร์ฟเวอร์แอพใหม่ โปรดดูรายละเอียดเพิ่มเติมที่เอกสารสำหรับผู้พัฒนาต่อไปนี้
ด้านล่างนี้คือภาพรวมที่แสดงให้เห็นว่าพารามิเตอร์มีการปรับให้เข้ากับสกีมาโดยรวมในเพย์โหลดอย่างไร
{ "data": [ { "event_name": "Purchase", "event_time": 1684389752, "action_source": "app", "user_data": { "em": [ "30a79640dfd8293d4f4965ec11821f640ca77979ca0a6b365f06372f81a3f602" ], "ph": [ "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b" ], "madid": "bbbbbbbbbbbb", "anon_id": "cccccccc" }, "custom_data": { "currency": "USD", "value": "142.52" }, "app_data": { "advertiser_tracking_enabled": "True", "application_tracking_enabled": "True", "campaign_ids": "aaaaaaaaa", "extinfo": [ "a2", "com.some.app", "771", "Version 7.7.1", "10.1.1", "OnePlus6", "en_US", "GMT-1", "TMobile", "1920", "1080", "2.00", "2", "128", "8", "USA/New York" ] } } ] }
คุณสามารถใช้เครื่องมือช่วยเหลือเพย์โหลดเพื่อสร้างข้อมูลเพย์โหลด โดยมีวิธีดังนี้
app
เมื่อสามารถทำได้ใช้เครื่องมือทดสอบเหตุการณ์ในตัวจัดการเหตุการณ์สำหรับการทดสอบ