מעקב המרות באפליקציות ורימרקטינג - מפרט בקשה/תגובה

סוכן משתמש של האפליקציה

כחלק מהמאמצים הרחבים שלנו למאבק בספאם, פיתחנו מפרט סטנדרטי לכותרת 'סוכן המשתמש' שנשלח על ידי מוצר ניתוח/מודעות בשם משתמש באפליקציה. ניתן להסיק את סוכן המשתמש של האפליקציה מקוד מקומי כדי לעמוד במפרט הבא:

name version (os_and_version; locale; device; build; Proxy)

ההגדרה של השדות הבאים היא:

רכיבים של סוכן משתמש
name

השם של מוצר ניתוח הנתונים או המודעות. (Google AdMob)

הערה: אם סוכן משתמש מובנה בצד הלקוח, name צריך להיות מזהה החבילה של אפליקציית הלקוח.


Android
// Specified by API consumer.

iOS
// Specified by API consumer.
version

גרסת המוצר Analytics/Ads. (7.10.1)


Android
// Specified by API consumer.

iOS
// Specified by API consumer.
os_and_version

מערכת ההפעלה וגרסת מערכת ההפעלה שבה האפליקציה פועלת. (Android 6.0 )


Android
String osAndVersion =
    "Android " + Build.VERSION.RELEASE;

iOS
UIDevice *uid =
  [UIDevice currentDevice];
NSString *osAndVersion =
  [NSString
    stringWithFormat:@"%@ %@",
    [uid systemName],
    [uid systemVersion]];
locale

תג של מיקום IETF עבור המכשיר, באמצעות שפה בת שתי אותיות וקוד מדינה, מופרדים בקו תחתון. (en_US)


Android
String locale = Locale.getDefault();

iOS
NSString *locale =
  [[NSLocale currentLocale]
    localeIdentifier]
device

השם של המכשיר הפיזי שבו פועל המוצר Analytics/Ads. (iPhone9,1)


Android
String device = Build.MODEL;

iOS
@import Darwin.sys.sysctl;

NSString *device(void) {
  size_t bufferSize = 64;
  NSMutableData *buffer =
    [[NSMutableData alloc]
      initWithLength:bufferSize];
  int status =
    sysctlbyname("hw.machine",
      buffer.mutableBytes,
      &bufferSize, NULL, 0);
  if (status != 0) {
    return nil;
  }
  return [[NSString alloc]
    initWithCString:buffer.mutableBytes
    encoding:NSUTF8StringEncoding];
}
build

"Build/" ואחריו מספר ה-build של מערכת ההפעלה. (Build/13D15)


Android
String build = "Build/" + Build.ID;

iOS
@import Darwin.sys.sysctl;

NSString *build(void) {
  size_t bufferSize = 64;
  NSMutableData *buffer =
    [[NSMutableData alloc]
      initWithLength:bufferSize];
  int status =
    sysctlbyname("kern.osversion",
      buffer.mutableBytes,
      &bufferSize, NULL, 0);
  if (status != 0) {
    return nil;
  }
  return [[NSString alloc]
    initWithCString:buffer.mutableBytes
    encoding:NSUTF8StringEncoding];
}

יש לכלול את הפרמטר ; Proxy רק בסוף סוכן המשתמש של האפליקציה, בעת הגדרת הצד של שרת סוכן המשתמש של האפליקציה. אם סוכן המשתמש של האפליקציה מובנה לחלוטין בצד הלקוח, אין לכלול את ; Proxy. לכן, סוכן משתמש של אפליקציה עשוי להיות:

  • Android: ‏AdMob/7.10.1 (Android 6.0; en_US; SM-G900F; Build/MMB29M; Proxy)
  • iOS: ‏AdMob/7.10.1 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)

בקשה למעקב המרות

המטרה של בקשות למעקב המרות היא ליידע את Google Ads לגבי אירוע באפליקציה שצריך לעקוב אחריו כהמרה ו/או להשתמש בו כדי לאכלס רשימת רימרקטינג, ולאחזר מטא-נתונים שמתארים כל קליק שקודם לאירוע.

כל הקריאות ל-API מתבצעות לדומיין www.googleadservices.com. בקשות המרה הן POST בקשות דרך HTTPS בנתיב הבא:

/pagead/conversion/app/version
כאשר version הוא הגרסה הרצויה של ממשק ה-API למעקב ההמרות. נכון לעכשיו, הגרסה החוקית היחידה היא 1.0.

בקשה סטנדרטית להמרה של אפליקציה תכלול את הפרמטרים הבאים.

בקשה למעקב המרות
dev_token

נדרש


מיקום: שאילתה


קוד מפתח סטטי סטטי שהונפק לצרכנים.

Z_eErE4DkvcKjDM1OVE4c4
link_id

נדרש


מיקום: שאילתה


מזהה הקישור שמקשר את קוד המפתח של צרכן ה-API לאפליקציה ספציפית.

31FF8D67E5BB5DD5029DCC2734C2F884
app_event_type

נדרש


מיקום: שאילתה


השם של אירוע האפליקציה שהתרחש. השדה הזה הוא מספור, והוא יקבל רק את הערכים הבאים:

 • first_open
 • session_start
 • in_app_purchase
 • view_item_list
 • view_item
 • view_search_results
 • add_to_cart
 • ecommerce_purchase
 • custom

יש לשלוח תמיד את האירוע first_open כדי לשייך התקנות, ואת האירוע session_start תמיד יש לשלוח עבור סשנים של שיוך. השתמשו ב-in_app_purchase לרכישות שמבוצעות דרך חנות האפליקציות המקורית. השתמשו ב-ecommerce_purchase לכל שאר הרכישות.

app_event_name

נדרש בתנאים מסוימים


מיקום: שאילתה


השם של כל אירוע מותאם אישית באפליקציה שאינו מקובל בשדה app_event_type. השדה הזה צריך להכיל 1 עד 64 תווי Unicode (באמצעות קידוד UTF-8). השדה הזה נדרש אם app_event_type מוגדר בהתאמה אישית.

level_achieved
Level Achieved

השדה הזה לא יכול להכיל ערכים כלשהם שמורים עבור app_event_type. אם נעשה שימוש בשם אירוע שמור, ה-API יחזיר שגיאת APP_EVENT_NAME_RESERVED_VALUE.

app_event_data

אופציונלי


מיקום: גוף


ניתן להעביר עוד נתונים של אירועים עשירים כאובייקט פשוט של מיפוי אובייקט JSON לערכים. הערכים הקבילים הם מחרוזות ומערכי מחרוזות.

{"level": 5, "attempts": 20}
rdid

נדרש


מיקום: שאילתה


מחרוזת UUID חוקית המייצגת את מזהה המכשיר הגולמי.

f10e1de2-e237-4f50-b6aa-843c45cc63d6

אם מזהה המכשיר חסר, כמו מזהה המכשיר של משתמש ATT שלא הביעו הסכמה, הגדירו אותו כאפס.

00000000-0000-0000-0000-000000000000
id_type

נדרש


מיקום: שאילתה


סוג המזהה המאוחסן בשדה rdid. יכול להיות שנקבל כאן ערכים נוספים בעתיד, אבל קודם כול נתמוך בסוגים הבאים.


Android

advertisingid

iOS

idfa
lat

נדרש


מיקום: שאילתה


סטטוס מעקב המודעות המוגבל במכשיר.

  • 0: המשתמש לא בחר להגביל את המעקב אחר מודעות.
  • 1: המשתמש בחר להגביל את מעקב המודעות.

app_version

נדרש


מיקום: שאילתה


הגרסה הנוכחית של האפליקציה. צריך לתקן אותה באופן הבא.


Android

packageManager.getPackageInfo(packageName(),
  PackageManager.GET_META_DATA).versionName

iOS

[[[NSBundle mainBundle] infoDictionary]
  objectForKey:@"CFBundleShortVersionString"]

1.2.4
os_version

נדרש


מיקום: שאילתה


הגרסה הנוכחית של מערכת ההפעלה של המארח באפליקציה. לאחר מכן, צריך לוודא שהסטנדרט אמור להיות מוגדר כך.


Android

android.os.Build.VERSION.RELEASE

iOS

[[UIDevice currentDevice] systemVersion]
sdk_version

נדרש


מיקום: שאילתה


גרסת ה-SDK שמדודה את האירוע. היא משמשת בעיקר לניפוי באגים, ולכן היא אמורה לשקף את גרסת הגרסה בדיוק כפי שהיא פורסמה בגרסאות ה-SDK. אם האפליקציה לא משתמשת ב-SDK, עליכם להעביר את אותו הערך כמו app_version.

1.9.5r6
timestamp

נדרש


מיקום: שאילתה


חותמת הזמן של UNIX שהתרחשה, בשניות, עם דיוק עד מיקרו-שניות.

1432681913.123456
value

אופציונלי


מיקום: שאילתה


הערך הכספי של האירוע, אם קיים. הערך הזה צריך להיות תמיד בפורמט של ערך צף שקריא למחשבים, עם נקודה עשרונית כדי להפריד בין המספר השלם והשבר העשרוני של הערך.

1.99
currency_code

נדרש בתנאים מסוימים


מיקום: שאילתה


קוד המטבע ISO 4217 עבור הפרמטר value. חובה למלא את השדה הזה אם הפרמטר value מסופק ולא ריק.

USD
gclid

נדרש בתנאים מסוימים


מיקום: שאילתה


הערך של פרמטר השאילתה gclid מכתובת URL עם קישור עומק שפתח את האפליקציה.

Cj0KEQjw0dy4BRCuuL_e5M
market_referrer_gclid

נדרש בתנאים מסוימים


מיקום: שאילתה


הערך של פרמטר השאילתה gclid מכתובת URL של קישור עומק שנלקחה מהערך של get_referrer דרך ה-API gclidInstall Referrer API.

BX3QojHp4mY5MrJtFM_d1u
gclid_only_request

נדרש בתנאים מסוימים


מיקום: שאילתה


מזהה עבור gclid ייחוס מבוסס-מצב, כאשר not zeroes זמין או gclid או market_referrer_gclid קיים.

1
gbraid

נדרש בתנאים מסוימים


מיקום: שאילתה


הערך האחרון (gbraid) נשלח דרך כתובת ה-URL של קישור העומק שפתח את האפליקציה. חשוב לזכור שצריך לשמור את האפליקציה במטמון כדי שתהיה אפשרות לשלוח אותה עם המרות עתידיות שיתרחשו באפליקציה.

ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O
app_open_source

נדרש בתנאים מסוימים


מיקום: שאילתה


ערך לזיהוי קישורי עומק בעקבות קליק על מודעה או ביקורים אורגניים באפליקציה.

ad_click or organic
User-Agent

נדרש


מיקום: כותרת עליונה


סוכן המשתמש של האפליקציה כפי שהוגדר בסעיף הקודם.

AdMob/7.10.1 (Android 6.0; en_US; SM-G900F; Build/MMB29M)
X-Forwarded-For

נדרש


מיקום: כותרת עליונה


כתובת ה-IPv6 או כתובת ה-IPv6 של המכשיר שבו האירוע נמדד.

216.58.194.174

יש לשלוח את כל הבקשות דרך HTTPS. פינגים שהתקבלו באמצעות HTTP יידחו.

לתשומת ליבך, אם גוף הבקשה ריק (במקרים שבהם לא מועברים נתונים של אירועים עשירים במטען המטען של app_event_data), השרת שלנו דורש להגדיר במפורש את הכותרת Content-Length: 0 בבקשה שלך.

דוגמה לבקשה

דוגמה לבקשה חוקית למעקב המרות עם סוג אירוע שאינו מותאם אישית ופרטי הכנסה:

POST /pagead/conversion/app/1.0
       ?dev_token=Z_eErE4DkvcKjDM1OVE4c4
       &link_id=31FF8D67E5BB5DD5029DCC2734C2F884
       &app_event_type=in_app_purchase
       &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
       &id_type=idfa
       &lat=0
       &app_version=1.2.4
       &os_version=9.3.2
       &sdk_version=1.9.5r6
       &timestamp=1432681913.123456
       &value=1.99
       &currency_code=USD
Host: www.googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8
{"app_event_data":{"item_id":["Crayons","Markers"]}}

דוגמה לבקשה חוקית למעקב המרות עם סוג אירוע שאינו מותאם אישית ופרטי הכנסה עם מזהה מזהה (Advertisingid) לא זמין:

POST /pagead/conversion/app/1.0
       ?dev_token=Z_eErE4DkvcKjDM1OVE4c4
       &link_id=31FF8D67E5BB5DD5029DCC2734C2F884
       &app_event_type=in_app_purchase
       &rdid=00000000-0000-0000-0000-000000000000
       &id_type=advertisingid
       &lat=1
       &app_version=1.2.4
       &os_version=9.3.2
       &sdk_version=1.9.5r6
       &timestamp=1432681913.123456
       &value=1.99
       &currency_code=USD
       &market_referrer_gclid=BX3QojHp4mY5MrJtFM_d1u
       &gclid=Cj0KEQjw0dy4BRCuuL_e5M
       &gclid_only_request=1
Host: www.googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; Android,1; Build/13D15; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8
{"app_event_data":{"item_id":["Crayons","Markers"]}}

דוגמה לבקשת התחלה של ביקור חוקית:

POST /pagead/conversion/app/1.0
       ?dev_token=Z_eErE4DkvcKjDM1OVE4c4
       &link_id=31FF8D67E5BB5DD5029DCC2734C2F884
       &app_event_type=session_start
       &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
       &id_type=idfa
       &lat=0
       &app_version=1.2.4
       &os_version=9.3.2
       &sdk_version=1.9.5r6
       &timestamp=1432681913.123456
Host: www.googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8

דוגמה לבקשת שיוך אוטומטית של ביקור שהתחיל מקישור העומק example://product/123?gclid=Cj0KEQjw0dy4BRCuuL_e5M היא:

POST /pagead/conversion/app/1.0
       ?dev_token=Z_eErE4DkvcKjDM1OVE4c4
       &link_id=31FF8D67E5BB5DD5029DCC2734C2F884
       &app_event_type=session_start
       &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
       &id_type=idfa
       &lat=0
       &app_version=1.2.4
       &os_version=9.3.2
       &sdk_version=1.9.5r6
       &timestamp=1432681913.123456
       &gclid=Cj0KEQjw0dy4BRCuuL_e5M
Host: www.googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8

קידוד נתוני אירועים

אם מדובר בפרמטר app_event_data, יש להשתמש בדוגמאות הבאות עבור סוגי נתונים פרימיטיביים:

  • צף

    • צריך להשתמש בתו נקודה כמפריד עשרוני ללא התאמה לשוק המקומי של האפליקציה
    • יש לציין דיוק עשרוני בן שתי ספרות כדי לייצג ערכים כספיים. לדוגמה, 2.99
    • לא מומלץ להשתמש בסימון מעריכי, למשל: 2E+9
    • אסור להשתמש בתו פסיק כדי להפריד בין קבוצות של ספרות. למשל, 1,000,000
    • דוגמאות תקפות:
      • -0.5
      • 2.99
      • 1000000.123
  • Integer

    • שליחת ערכים שלמים בלבד ללא ספרות אחרי הנקודה העשרונית
    • אסור להשתמש בתו פסיק כדי להפריד בין קבוצות של ספרות. למשל, 1,000,000
    • דוגמאות תקפות:
      • 1000
      • -11
      • 0
  • תאריך

    • פורמט תאריך: yyyy-mm-dd
      • yyyy = שנה בארבע ספרות, למשל 2016
      • mm = חודש בן שתי ספרות, למשל 0 בספטמבר
      • dd = יום בן שתי ספרות. למשל, 23 ביום ה-23 בחודש
    • יש לשלוח תמיד את מספר הספרות שצוין למעלה. לדוגמה, אם שולחים את הערך של dd ביום החמישי של החודש, שולחים את הערך 05.
    • דוגמאות תקפות:
      • "2016-09-23"
      • "1990-12-31"
  • חותמת זמן

    • פורמט זמן: חותמת זמן Unix/Epoch המוגדרת באזור זמן UTC עם דיוק של עד מיקרו-שניות
    • דוגמאות תקפות:
      • 1478713087 ליום רביעי, 9 בנובמבר 2016 בשעה 17:38:07 (שעון גריניץ')
      • 1073513982.123000 ליום רביעי, 7 בינואר 2004 22:19:42.123 שעון גריניץ'
  • מערכים

    • שולחים רק מערכים של ערכים מהדור הישן (מחרוזות, מספרים ובוליאניים)
    • דוגמאות תקינות:
      • [123, 456, 789]
      • ["abc"]

תגובה למעקב המרות

הפורמט של תגובת מעקב ההמרות הוא:

{
  "ad_events": [<ad event objects>],
  "errors": [<error strings>],
  "attributed": true|false
}

גם מערך ad_events וגם מערכי errors עשויים להיות ריקים.

אנחנו צופים ששגיאות יהיו קודי שגיאה שקריאים למחשבים, למשל invalid_timestamp.

אירועי מודעות הם האובייקטים העיקריים בשיוך של אפליקציה, והם יכללו את המאפיינים הבאים.

תגובה למעקב המרות
ad_event_id

תמיד מוצג


string


ad_event_id משמש כמזהה ייחודי לאירועי מודעה. משתמשים בה בבקשת השיוך ברשתות שונות. צריך לתעד אותה או לשמור אותה למטרות ניפוי באגים.

Q2owS0VRancwZHk0QlJDdXVMX2U1TQ
conversion_metric

תמיד מוצג


string


מדד ההמרה המשמש לשיוך. בשלב הראשון נתמוך במדד המרה אחד.

conversion
timestamp

תמיד מוצג


number


חותמת הזמן של יוניקס שבה התרחש אירוע המודעה, בשניות עם דיוק של עד מיקרו-שניות. יש להשתמש בערך הזה בשביל שיוך לקליק האחרון.

1432681913.123456
campaign_type

תמיד מוצג


string


השדה הזה יזהה את סוג הקמפיין שיצר את אירוע המודעה. הערכים האפשריים הם:

ACI
ACE
Search
Display
Video
Shopping
Hotel
Performance_Max
Other

ACI הוא קיצור של קמפיין להתקנת אפליקציה. ACE הוא קיצור לקמפיינים לעידוד השימוש באפליקציה.

campaign_id

תמיד מוצג


number


מזהה הקמפיין המספרי של הקמפיין שייצר את אירוע המודעה. הערך הזה מובטח.

123456789
campaign_name

תמיד מוצג


string


שם הקמפיין שהוגדר על ידי המפרסם של הקמפיין שייצר את אירוע המודעה. הערך הזה לא מובטח באופן ייחודי.

Occasional Gamers (Video)
ad_type

תמיד מוצג


string


סוג המודעה שהוביל לאירוע המודעה. ניתן להשתמש בערך הזה כדי להבחין בין סוגים שונים של מלאי באופן הבא.

קידום אפליקציות
ClickToDownload
אפליקציה – התעניינות
AppDeepLink
אפליקציה – התעניינות – התקנה והמשך
AppDeepLinkContinue
תיעוד כולל לערכים אחרים
Unknown
external_customer_id

תמיד מוצג


number


מזהה המפרסם של המפרסם שאחראי ליצירת הקמפיין. ניתן להשתמש בערך הזה כדי להבדיל בין חשבונות Google Ads.

123456789
location

תמיד מוצג


number


קוד מזהה המיקום הגיאוגרפי של אירוע המודעה. כדי לפרש את קודי המיקום, עיינו בהפניות API ב-Google Ads.

network_type

תמיד מוצג


string


בשדה הזה יזוהה רשת הפרסום של Google Ads שבה התרחש אירוע המודעה. הערכים האפשריים הם:

Search
Display
YouTube
network_subtype

יהיה null כאשר campaign_type יהיה ACI או ACE ו-network_type יהיה Display.


string


השדה הזה יזהה את "סוג המשנה" של רשת הפרסום ב-Google Ads שבה התרחש האירוע עם המודעה. הערכים האפשריים משתנים לפי סוג הרשת הראשית.


חיפוש Google רגיל
GoogleSearch
שותפי חיפוש של Google
SearchPartners

המסך

בעלי תוכן דיגיטלי באינטרנט
mGDN
בעלי אפליקציות
Google AdMob

YouTube

רשת הסרטונים של YouTube
YouTubeVideos
רשת החיפוש של YouTube
YouTubeSearch
שותפי וידאו
VideoPartners
video_id

אפשר רק כאשר network_type הוא YouTube ו-campaign_type הוא לא ACI ו-ACE.


string


מזהה הווידאו של YouTube המשויך לאירוע המודעה.

dQw4w9WgXcQ
keyword

אפשר רק כאשר network_type הוא Search ו-campaign_type הוא לא ACI ו-ACE.


string


מילת המפתח לרשת החיפוש המשויכת לאירוע של המודעה.

+food +delivery
match_type

אפשר רק כאשר network_type הוא Search ו-campaign_type הוא לא ACI ו-ACE.


string


סוג ההתאמה של מילות מפתח לרשת החיפוש.

מדויקת
e
ביטוי
p
רחבה
b
placement

אפשר רק כאשר network_type הוא Display ו-campaign_type הוא לא ACI ו-ACE.


string


המיקום המשויך לאירוע המודעה.

mobileapp::1-343200656
ad_group_id

תמיד מוצג


number


המזהה המספרי של קבוצת המודעות שהופקה באמצעות אירוע המודעה. הערך הזה מובטח.

123456789
ad_group_name

יש לציין את התאריך הזה רק כאשר הערך של campaign_type הוא ACI,ACE או ACPRE.


string


שם קבוצת המודעות שהוגדר על ידי המפרסם עבור קבוצת המודעות שיצרה את אירוע המודעה. הערך הזה לא מובטח באופן ייחודי.

My App AdGroup
creative_id

יש לספק רק כאשר הcampaign_type אינו ACI וACE.


number


המזהה המספרי של יחידת המודעות היצירתית שהפיקה את אירוע המודעה. הערך הזה מובטח.

123456789
interaction_type

השדה הזה תמיד יכלול מעורבות.


string

תשובות לדוגמה

דוגמה לתגובה למעקב המרות כאשר הבקשה מכילה שגיאות:

{
  "ad_events": [],
  "errors": ["INVALID_CURRENCY_CODE"],
  "attributed": false
}

דוגמה לתגובה שלילית למעקב המרות:

{
  "ad_events": [],
  "errors": [],
  "attributed": false
}

תוחזר תגובה של מעקב המרות עבור כל הבקשות למעקב המרות.

דוגמה לתגובה חיובית למעקב המרות בקמפיין אוניברסלי לאפליקציה:

{
  "ad_events": [{
    "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ",
    "conversion_metric": "conversion",
    "interaction_type": "engagement",
    "campaign_type": "ACI",
    "campaign_id": 123456789,
    "campaign_name": "My App Campaign",
    "ad_type": "ClickToDownload",
    "external_customer_id": 123456789,
    "location": 21144,
    "network_type": "Search",
    "network_subtype": "GoogleSearch",
    "video_id": null,
    "keyword": null,
    "match_type": null,
    "placement": null,
    "ad_group_id": null,
    "ad_group_name": "",
    "creative_id": null,
    "timestamp": 1432681913.123456
  }],
  "errors": [],
  "attributed": true
}

דוגמה לתגובה חיובית למעקב המרות בקמפיין לרשת החיפוש:

{
  "ad_events": [{
    "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ",
    "conversion_metric": "conversion",
    "interaction_type": "engagement",
    "campaign_type": "Search",
    "campaign_id": 123456789,
    "campaign_name": "My App Campaign",
    "ad_type": "ClickToDownload",
    "external_customer_id": 123456789,
    "location": 21144,
    "network_type": "Search",
    "network_subtype": "GoogleSearch",
    "video_id": null,
    "keyword": "+space +birds",
    "match_type": "b",
    "placement": null,
    "ad_group_id": 123456789,
    "ad_group_name": "My App AdGroup",
    "creative_id": 123456789,
    "timestamp": 1432681913.123456
  }],
  "errors": [],
  "attributed": true
}

דוגמה לתגובה חיובית למעקב המרות בקמפיין לרשת המדיה:

{
  "ad_events": [{
    "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ",
    "conversion_metric": "conversion",
    "interaction_type": "engagement",
    "campaign_type": "Display",
    "campaign_id": 123456789,
    "campaign_name": "My App Campaign",
    "ad_type": "ClickToDownload",
    "external_customer_id": 123456789,
    "location": 21144,
    "network_type": "Display",
    "network_subtype": "mGDN",
    "video_id": null,
    "keyword": null,
    "match_type": null,
    "placement": "mobile-app::2-343200656",
    "ad_group_id": 123456789,
    "ad_group_name": "My App AdGroup",
    "creative_id": 123456789,
    "timestamp": 1432681913.123456
  }],
  "errors": [],
  "attributed": true
}

דוגמה לתגובה חיובית למעקב המרות בקמפיין ב-YouTube:

{
  "ad_events": [{
    "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ",
    "conversion_metric": "conversion",
    "interaction_type": "engagement",
    "campaign_type": "Video",
    "campaign_id": 123456789,
    "campaign_name": "My App Campaign",
    "ad_type": "ClickToDownload",
    "external_customer_id": 123456789,
    "location": 21144,
    "network_type": "YouTube",
    "network_subtype": "YouTubeVideos",
    "video_id": "dQw4w9WgXcQ",
    "keyword": null,
    "match_type": null,
    "placement": null,
    "ad_group_id": 123456789,
    "ad_group_name": "My App AdGroup",
    "creative_id": 123456789,
    "timestamp": 1432681913.123456
  }],
  "errors": [],
  "attributed": true
}

בקשת שיוך חוצת-פלטפורמות

כשמערכת Google Ads מגיבה לבקשה למעקב המרות באופן מפורש, הצרכן של ה-API חייב להודיע ל-Google Ads על החלטתו לגבי השיוך (Attribution) חוצה-הפלטפורמות אחרי זיהוי הקליק האחרון.

הבקשה לשיוך חוצה-רשתות זהה לבקשה המקורית למעקב המרות, אבל עם נתיב הבקשה של:

/pagead/conversion/app/1.0/cross_network

והוספת שני פרמטרים נדרשים:

בקשת שיוך חוצת-פלטפורמות
ad_event_id

נדרש


מיקום: שאילתה


המזהה ad_event_id מאירוע המודעה שמשויך לשיוך בבקשה הקודמת.

attributed

נדרש


מיקום: שאילתה


האם Google Ads קיבל זיכוי על ההמרה, או לא. הערך הזה יכול להיות 0 או 1.

דוגמה לבקשת שיוך (Attribution) חוצת-פלטפורמות:

POST /pagead/conversion/app/1.0/cross_network
       ?dev_token=Z_eErE4DkvcKjDM1OVE4c4
       &link_id=31FF8D67E5BB5DD5029DCC2734C2F884
       &app_event_type=custom
       &app_event_name=level_achieved
       &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
       &id_type=idfa
       &lat=0
       &app_version=1.2.4
       &os_version=9.3.2
       &sdk_version=1.9.5r6
       &timestamp=1432681913.123456
       &value=1.99
       &currency_code=USD
       &ad_event_id=Q2owS0VRancwZHk0QlJDdXVMX2U1TQ
       &attributed=1
Host: www.googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8

בקשת שיוך חוצי-פלטפורמות חוקית תמיד תקבל תגובה כללית של 200, ללא גוף תגובה.