סוכן משתמש של האפליקציה
כחלק מהמאמצים הרחבים שלנו למאבק בספאם, פיתחנו מפרט סטנדרטי לכותרת 'סוכן המשתמש' שנשלח על ידי מוצר ניתוח/מודעות בשם משתמש באפליקציה. ניתן להסיק את סוכן המשתמש של האפליקציה מקוד מקומי כדי לעמוד במפרט הבא:
name version (os_and_version; locale; device; build; Proxy)
ההגדרה של השדות הבאים היא:
רכיבים של סוכן משתמש | |
---|---|
name | השם של מוצר ניתוח הנתונים או המודעות. ( הערה: אם סוכן משתמש מובנה בצד הלקוח, Android// Specified by API consumer. iOS// Specified by API consumer. |
version | גרסת המוצר Analytics/Ads.
( Android// Specified by API consumer. iOS// Specified by API consumer. |
os_and_version | מערכת ההפעלה וגרסת מערכת ההפעלה שבה האפליקציה פועלת. ( AndroidString osAndVersion = "Android " + Build.VERSION.RELEASE; iOSUIDevice *uid = [UIDevice currentDevice]; NSString *osAndVersion = [NSString stringWithFormat:@"%@ %@", [uid systemName], [uid systemVersion]]; |
locale | תג של מיקום IETF עבור המכשיר, באמצעות שפה בת שתי אותיות וקוד מדינה, מופרדים בקו תחתון.
( AndroidString locale = Locale.getDefault(); iOSNSString *locale = [[NSLocale currentLocale] localeIdentifier] |
device | השם של המכשיר הפיזי שבו פועל המוצר Analytics/Ads.
( AndroidString 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 של מערכת ההפעלה.
( AndroidString 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 יש לשלוח תמיד את האירוע |
app_event_name |
נדרש בתנאים מסוימים מיקום: שאילתה השם של כל אירוע מותאם אישית באפליקציה שאינו מקובל בשדה level_achieved Level Achieved השדה הזה לא יכול להכיל ערכים כלשהם שמורים עבור
|
app_event_data |
אופציונלי מיקום: גוף ניתן להעביר עוד נתונים של אירועים עשירים כאובייקט פשוט של מיפוי אובייקט JSON לערכים. הערכים הקבילים הם מחרוזות ומערכי מחרוזות. {"level": 5, "attempts": 20} |
rdid |
נדרש מיקום: שאילתה מחרוזת UUID חוקית המייצגת את מזהה המכשיר הגולמי. f10e1de2-e237-4f50-b6aa-843c45cc63d6 אם מזהה המכשיר חסר, כמו מזהה המכשיר של משתמש ATT שלא הביעו הסכמה, הגדירו אותו כאפס. 00000000-0000-0000-0000-000000000000 |
id_type |
נדרש מיקום: שאילתה סוג המזהה המאוחסן בשדה Androidadvertisingid iOSidfa |
lat |
נדרש מיקום: שאילתה סטטוס מעקב המודעות המוגבל במכשיר.
|
app_version |
נדרש מיקום: שאילתה הגרסה הנוכחית של האפליקציה. צריך לתקן אותה באופן הבא. AndroidpackageManager.getPackageInfo(packageName(), PackageManager.GET_META_DATA).versionName iOS[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"] 1.2.4 |
os_version |
נדרש מיקום: שאילתה הגרסה הנוכחית של מערכת ההפעלה של המארח באפליקציה. לאחר מכן, צריך לוודא שהסטנדרט אמור להיות מוגדר כך. Androidandroid.os.Build.VERSION.RELEASE iOS[[UIDevice currentDevice] systemVersion] |
sdk_version |
נדרש מיקום: שאילתה גרסת ה-SDK שמדודה את האירוע. היא משמשת בעיקר לניפוי באגים, ולכן היא אמורה לשקף את גרסת הגרסה בדיוק כפי שהיא פורסמה בגרסאות ה-SDK. אם האפליקציה לא משתמשת ב-SDK, עליכם להעביר את אותו הערך כמו 1.9.5r6 |
timestamp |
נדרש מיקום: שאילתה חותמת הזמן של UNIX שהתרחשה, בשניות, עם דיוק עד מיקרו-שניות. 1432681913.123456 |
value |
אופציונלי מיקום: שאילתה הערך הכספי של האירוע, אם קיים. הערך הזה צריך להיות תמיד בפורמט של ערך צף שקריא למחשבים, עם נקודה עשרונית כדי להפריד בין המספר השלם והשבר העשרוני של הערך. 1.99 |
currency_code |
נדרש בתנאים מסוימים מיקום: שאילתה קוד המטבע ISO
4217 עבור הפרמטר USD |
gclid |
נדרש בתנאים מסוימים מיקום: שאילתה הערך של פרמטר השאילתה Cj0KEQjw0dy4BRCuuL_e5M |
market_referrer_gclid |
נדרש בתנאים מסוימים מיקום: שאילתה הערך של פרמטר השאילתה BX3QojHp4mY5MrJtFM_d1u |
gclid_only_request |
נדרש בתנאים מסוימים מיקום: שאילתה מזהה עבור 1 |
gbraid |
נדרש בתנאים מסוימים מיקום: שאילתה הערך האחרון ( 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 ×tamp=1432681913.123456 &value=1.99 ¤cy_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 ×tamp=1432681913.123456 &value=1.99 ¤cy_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 ×tamp=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 ×tamp=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
= שנה בארבע ספרות, למשל 2016mm
= חודש בן שתי ספרות, למשל 0 בספטמברdd
= יום בן שתי ספרות. למשל, 23 ביום ה-23 בחודש
- יש לשלוח תמיד את מספר הספרות שצוין למעלה. לדוגמה, אם שולחים את הערך של dd ביום החמישי של החודש, שולחים את הערך
05
. - דוגמאות תקפות:
"2016-09-23"
"1990-12-31"
- פורמט תאריך: yyyy-mm-dd
חותמת זמן
- פורמט זמן: חותמת זמן 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
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 |
יהיה string השדה הזה יזהה את "סוג המשנה" של רשת הפרסום ב-Google Ads שבה התרחש האירוע עם המודעה. הערכים האפשריים משתנים לפי סוג הרשת הראשית. חיפושחיפוש Google רגילGoogleSearchשותפי חיפוש של Google SearchPartners המסךבעלי תוכן דיגיטלי באינטרנטmGDNבעלי אפליקציות Google AdMob YouTubeרשת הסרטונים של YouTubeYouTubeVideosרשת החיפוש של YouTube YouTubeSearchשותפי וידאו VideoPartners |
video_id |
אפשר רק כאשר string מזהה הווידאו של YouTube המשויך לאירוע המודעה. dQw4w9WgXcQ |
keyword |
אפשר רק כאשר string מילת המפתח לרשת החיפוש המשויכת לאירוע של המודעה. +food +delivery |
match_type |
אפשר רק כאשר string סוג ההתאמה של מילות מפתח לרשת החיפוש. מדויקתeביטוי pרחבה b |
placement |
אפשר רק כאשר string המיקום המשויך לאירוע המודעה. mobileapp::1-343200656 |
ad_group_id |
תמיד מוצג number המזהה המספרי של קבוצת המודעות שהופקה באמצעות אירוע המודעה. הערך הזה מובטח. 123456789 |
ad_group_name |
יש לציין את התאריך הזה רק כאשר הערך של string שם קבוצת המודעות שהוגדר על ידי המפרסם עבור קבוצת המודעות שיצרה את אירוע המודעה. הערך הזה לא מובטח באופן ייחודי. My App AdGroup |
creative_id |
יש לספק רק כאשר ה 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 |
נדרש מיקום: שאילתה המזהה |
attributed |
נדרש מיקום: שאילתה האם Google Ads קיבל זיכוי על ההמרה, או לא. הערך הזה יכול להיות |
דוגמה לבקשת שיוך (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 ×tamp=1432681913.123456 &value=1.99 ¤cy_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, ללא גוף תגובה.