عامل کاربر برنامه
به عنوان بخشی از تلاشهای گستردهتر ما برای مبارزه با هرزنامه، ما یک مشخصات استاندارد برای هدر User-Agent ارسال شده توسط یک محصول تحلیلی/تبلیغاتی از طرف یک کاربر برنامه ایجاد کردهایم. User-Agent برنامه میتواند از کد بومی مشتق شود تا مشخصات زیر را رعایت کند:
name version (os_and_version; locale; device; build; Proxy)
تعریف این فیلدها به شرح زیر است:
| اجزای عامل کاربر | |
|---|---|
| name | نام محصول تحلیلی/تبلیغاتی ( توجه داشته باشید که اگر عامل کاربر در سمت کلاینت ساخته شده باشد، اندروید// Specified by API consumer. آیاواس// Specified by API consumer. |
| version | نسخه محصول تحلیلی/تبلیغاتی ( اندروید// Specified by API consumer. آیاواس// Specified by API consumer. |
| os_and_version | سیستم عامل و نسخه سیستم عاملی که برنامه روی آن اجرا میشود. ( اندرویدString osAndVersion =
"Android " + Build.VERSION.RELEASE;آیاواسUIDevice *uid = [UIDevice currentDevice]; NSString *osAndVersion = [NSString stringWithFormat:@"%@ %@", [uid systemName], [uid systemVersion]]; |
| locale | یک برچسب محلی IETF برای دستگاه، با استفاده از زبان و کد کشور دو حرفی که با زیرخط از هم جدا شدهاند. ( اندرویدString locale = Locale.getDefault(); آیاواسNSString *locale = [[NSLocale currentLocale] localeIdentifier] |
| device | نام دستگاه فیزیکی که محصول تحلیلی/تبلیغاتی روی آن اجرا میشود. ( اندرویدString device = Build.MODEL; آیاواس@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/» و به دنبال آن شماره ساخت سیستم عامل. ( اندرویدString build = "Build/" + Build.ID; آیاواس@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]; } |
هنگام ساخت برنامه User-Agent سمت سرور، فقط ; Proxy در انتهای User-Agent برنامه قرار دهید. اگر برنامه User-Agent کاملاً در سمت کلاینت ساخته شده است، ; Proxy حذف کنید. بنابراین یک برنامه User-Agent ممکن است:
- اندروید:
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)
راهنمای درخواست پیگیری تبدیل
هدف از درخواستهای ردیابی تبدیل، اطلاعرسانی به گوگل ادز در مورد یک رویداد برنامه است که باید به عنوان یک تبدیل ردیابی شود و/یا برای پر کردن یک لیست بازاریابی مجدد استفاده شود، و همچنین بازیابی فرادادههایی که هر کلیکی را که قبل از این رویداد انجام شده است، توصیف میکنند.
تمام فراخوانیهای API به دامنه www.googleadservices.com انجام میشود. درخواستهای تبدیل، درخواستهای POST از طریق HTTPS در مسیر زیر هستند:
/pagead/conversion/app/version
یک درخواست تبدیل برنامه استاندارد شامل پارامترهای زیر برای API تبدیل برنامه نسخه ۱.۱ خواهد بود.
| درخواست پیگیری تبدیل | |
|---|---|
dev_token | مورد نیاز مکان: پرس و جو توکن توسعهدهندهی منحصر به فرد و ثابتی که برای مصرفکنندهی API صادر میشود. 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} |
odm_info | مورد نیاز هنگام استفاده از اندازهگیری تبدیل یکپارچه در iOS مکان: پرس و جو مقدار پارامتر جستجوی XYZr_AB8C-_zGtKjUhqtzPLeQ8lbJB5dADVR0tpZ9f-28sN5qN9GTZ_FztjL0OL FzgxUJDhZr8w6lwGxAwPcxSwR5orjWepZiVP7sRRoCiaHerR-1TP17eJKtazgeSg _CVEs13LllDTfrhVM8uWISqlg8dXobsLzmj8C7WrOlktHA5P_E23 |
id_type | مورد نیاز نوع شناسهای که در فیلد اندرویدadvertisingid appsetid آیاواسidfa idfv |
rdid | مورد نیاز مکان: پرس و جو یک رشته UUID معتبر که شناسه خام دستگاه را نشان میدهد. f10e1de2-e237-4f50-b6aa-843c45cc63d6 در صورتی که شناسه دستگاه وجود نداشته باشد، مانند شناسه دستگاه از یک کاربر ATT بدون رضایت، آن را روی صفر تنظیم کنید. 00000000-0000-0000-0000-000000000000 |
ctry_c | مورد نیاز مکان: پرس و جو کد کشور ISO دو حرفی برای نشان دادن کشوری که تبدیل از آنجا آغاز شده است. این فیلد برای فعال کردن اندازهگیری تبدیل برنامه در سطح غیرکاربری در iOS و اندروید الزامی است. US, IN |
eea | تحت شرایط خاص الزامی است مکان: پرس و جو دامنه فعالیت EEA
|
ad_personalization | تحت شرایط خاص الزامی است مکان: پرس و جو پرچمها برای تبلیغات شخصیسازیشده
|
ad_user_data | تحت شرایط خاص الزامی است مکان: پرس و جو پرچم رضایت برای استفاده از دادههای کاربر برای اهداف تبلیغاتی
|
lat | مورد نیاز مکان: پرس و جو وضعیت محدود کردن ردیابی تبلیغات برای دستگاه.
|
app_version | مورد نیاز مکان: پرس و جو نسخه فعلی برنامه. این نسخه باید به صورت زیر استانداردسازی شود. اندرویدpackageManager.getPackageInfo(packageName(), PackageManager.GET_META_DATA).versionName آیاواس[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"] 1.2.4 |
os_version | مورد نیاز مکان: پرس و جو نسخه فعلی سیستم عامل میزبان برنامه. این باید به صورت زیر استاندارد شود. اندرویدandroid.os.Build.VERSION.RELEASE آیاواس[[UIDevice currentDevice] systemVersion] |
sdk_version | مورد نیاز مکان: پرس و جو نسخه SDK که رویداد را اندازهگیری کرده است. از آنجا که این مورد عمدتاً برای اشکالزدایی استفاده میشود، باید دقیقاً همان نسخه انتشار یافته را که با نسخههای SDK شما منتشر شده است، منعکس کند. اگر برنامه از SDK استفاده نمیکند، لطفاً همان مقدار 1.9.5r6 |
timestamp | مورد نیاز مکان: پرس و جو مهر زمانی یونیکس که رویداد تبدیل در آن رخ داده است، بر حسب ثانیه و با دقت میکروثانیه. 1432681913.123456 |
fot | مورد نیاز مکان: پرس و جو مهر زمانی یونیکس از 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 | مورد نیاز مکان: سربرگ آدرس عمومی IPv4 یا IPv6 دستگاهی که رویداد در آن اندازهگیری شده است. 216.58.194.174 |
تمام درخواستها باید از طریق HTTPS ارسال شوند. پینگهای دریافتی از طریق HTTP رد خواهند شد.
لطفاً توجه داشته باشید که اگر بدنه درخواست خالی باشد (در مواردی که هیچ داده رویداد غنی در بار داده app_event_data ارسال نشده باشد)، سرور ما از شما میخواهد که هدر Content-Length: 0 را به صراحت در درخواست خود تنظیم کنید.
رمزگذاری دادههای رویداد
برای پارامتر بدنه app_event_data ، لطفاً از قراردادهای زیر برای انواع دادههای اولیه استفاده کنید:
شناور
- استفاده از کاراکتر نقطه به عنوان جداکننده اعشاری، مستقل از محلیسازی برنامه
- برای نمایش مقادیر پولی از دقت اعشاری دو رقمی استفاده کنید. مثلاً ۲.۹۹
- از نمادگذاری نمایی استفاده نکنید ، مثلاً 2E+9
- برای جدا کردن گروههای ارقام از کاراکتر کاما استفاده نکنید ، مثلاً ۱,۰۰۰,۰۰۰
- مثالهای معتبر:
-
-0.5 -
2.99 -
1000000.123
-
عدد صحیح
- فقط مقادیر صحیح کامل و بدون رقم اعشار ارسال کنید
- برای جدا کردن گروههای ارقام از کاراکتر کاما استفاده نکنید ، مثلاً ۱,۰۰۰,۰۰۰
- مثالهای معتبر:
-
1000 -
-11 -
0
-
تاریخ
- قالب تاریخ: yyyy-mm-dd
-
yyyy= سال چهار رقمی، مثلاً ۲۰۱۶ -
mm= ماه دو رقمی، مثلاً ۰۹ برای سپتامبر -
dd= روز دو رقمی، مثلاً ۲۳ برای بیست و سومین روز ماه
-
- همیشه تعداد ارقام مشخص شده در بالا را ارسال کنید، مثلاً اگر مقدار dd را برای روز پنجم ماه ارسال میکنید،
05ارسال کنید. - مثالهای معتبر:
-
"2016-09-23" -
"1990-12-31"
-
- قالب تاریخ: yyyy-mm-dd
مهر زمانی
- قالب زمان: مهر زمانی Unix/Epoch بر حسب ثانیه که در منطقه زمانی UTC با دقت میکروثانیه تعریف شده است
- مثالهای معتبر:
-
1478713087برای چهارشنبه، ۹ نوامبر ۲۰۱۶، ساعت ۱۷:۳۸:۰۷ به وقت گرینویچ -
1073513982.123000برای چهارشنبه، ۷ ژانویه ۲۰۰۴، ساعت ۲۲:۱۹:۴۲.۱۲۳ به وقت گرینویچ
-
آرایهها
- فقط آرایههایی از مقادیر اولیه (رشتهها، اعداد و مقادیر بولی) ارسال کنید.
- نمونههای معتبر:
-
[123, 456, 789] -
["abc"]
-
درخواستهای نمونه
نمونهای از اولین درخواست باز با On Device Measurement: Event Data SDK برای Integrated Conversion Measurement به صورت زیر است:
POST /pagead/conversion/app/1.1
?dev_token=Z_eErE4DkvcKjDM1OVE4c4
&link_id=31FF8D67E5BB5DD5029DCC2734C2F884
&app_event_type=first_open
&odm_info=abcdEfadGdaf
&rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
&id_type=idfv
&eea=0
&ad_personalization=1
&ad_user_data=1
&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نمونهای از اولین درخواست باز بدون On Device Measurement: Event Data SDK برای Integrated Conversion Measurement به صورت زیر است:
POST /pagead/conversion/app/1.1
?dev_token=Z_eErE4DkvcKjDM1OVE4c4
&link_id=31FF8D67E5BB5DD5029DCC2734C2F884
&app_event_type=first_open
&rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
&id_type=idfv
&eea=0
&ad_personalization=1
&ad_user_data=1
&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نمونهای از درخواست پس از نصب با On Device Measurement: Event Data SDK برای Integrated Conversion Measurement به صورت زیر است:
POST /pagead/conversion/app/1.1
?dev_token=Z_eErE4DkvcKjDM1OVE4c4
&link_id=31FF8D67E5BB5DD5029DCC2734C2F884
&app_event_type=first_open
&odm_info=abcdEfadGdaf
&rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
&id_type=idfv
&eea=0
&ad_personalization=1
&ad_user_data=1
&lat=0
&app_version=1.2.4
&os_version=9.3.2
&sdk_version=1.9.5r6
×tamp=1432681913.123456
&&fot=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نمونهای از اولین درخواست باز بدون کیت توسعه نرمافزاری On Device Measurement: Event Data به صورت زیر است:
POST /pagead/conversion/app/1.1
?dev_token=Z_eErE4DkvcKjDM1OVE4c4
&link_id=31FF8D67E5BB5DD5029DCC2734C2F884
&app_event_type=first_open
&rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
&id_type=idfv
&eea=0
&ad_personalization=1
&ad_user_data=1
&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نمونهای از اولین درخواست باز برای تبدیل غیرقطعی اندروید برای ACAPI نسخه ۱.۱ به صورت زیر است:
POST /pagead/conversion/app/1.1
?dev_token=Z_eErE4DkvcKjDM1OVE4c4
&link_id=31FF8D67E5BB5DD5029DCC2734C2F884
&app_event_type=first_open
&rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
&id_type=appsetid
&eea=0
&ad_personalization=1
&ad_user_data=1
&lat=0
&app_version=1.2.4
&os_version=9.3.2
&sdk_version=1.9.5r6
×tamp=1432681913.123456
&ctry_c=IN
Host: www.googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (android 11; en-GB; RMX2040; Build/_; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8نمونهای از یک درخواست ردیابی تبدیل معتبر با نوع رویداد غیرسفارشی و اطلاعات درآمد به صورت زیر است:
POST /pagead/conversion/app/1.1
?dev_token=Z_eErE4DkvcKjDM1OVE4c4
&link_id=31FF8D67E5BB5DD5029DCC2734C2F884
&app_event_type=in_app_purchase
&rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
&id_type=idfa
&eea=0
&ad_personalization=1
&ad_user_data=1
&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
&market_referrer_gclid=BX3QojHp4mY5MrJtFM_d1u
&gclid=Cj0KEQjw0dy4BRCuuL_e5M
&gclid_only_request=0
&gbraid=ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O
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"]}}نمونهای از یک درخواست ردیابی تبدیل معتبر با نوع رویداد غیرسفارشی و اطلاعات درآمد که rdid (شناسه تبلیغات) در آن موجود نیست، به صورت زیر است:
POST /pagead/conversion/app/1.1
?dev_token=Z_eErE4DkvcKjDM1OVE4c4
&link_id=31FF8D67E5BB5DD5029DCC2734C2F884
&app_event_type=in_app_purchase
&rdid=00000000-0000-0000-0000-000000000000
&id_type=advertisingid
&eea=0
&ad_personalization=1
&ad_user_data=1
&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
&gbraid=ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O
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.1
?dev_token=Z_eErE4DkvcKjDM1OVE4c4
&link_id=31FF8D67E5BB5DD5029DCC2734C2F884
&app_event_type=session_start
&rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
&id_type=idfa
&eea=0
&ad_personalization=1
&ad_user_data=1
&lat=0
&app_version=1.2.4
&os_version=9.3.2
&sdk_version=1.9.5r6
×tamp=1432681913.123456
&gclid=Cj0KEQjw0dy4BRCuuL_e5M
&gbraid=ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O
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.1
?dev_token=Z_eErE4DkvcKjDM1OVE4c4
&link_id=31FF8D67E5BB5DD5029DCC2734C2F884
&app_event_type=session_start
&rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
&id_type=idfa
&eea=0
&ad_personalization=1
&ad_user_data=1
&lat=0
&app_version=1.2.4
&os_version=9.3.2
&sdk_version=1.9.5r6
×tamp=1432681913.123456
&gclid=Cj0KEQjw0dy4BRCuuL_e5M
&gbraid=ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O
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نمونهای از درخواست ردیابی تبدیل معتبر برای یک کاربر EEA که رضایت داده شده و شخصیسازی تبلیغات رد شده است:
POST /pagead/conversion/app/1.1
?dev_token=Z_eErE4DkvcKjDM1OVE4c4
&link_id=31FF8D67E5BB5DD5029DCC2734C2F884
&app_event_type=in_app_purchase
&rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
&id_type=idfa
&eea=1
&ad_personalization=0
&ad_user_data=1
&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راهنمای پاسخ ردیابی تبدیل
پاسخ ردیابی تبدیل دارای قالب زیر است:
{
"ad_events": [<ad event objects>],
"errors": [<error strings>],
"attributed": true|false
}
هر دو آرایه ad_events و errors میتوانند خالی باشند.
ما انتظار داریم خطاها کدهای خطای قابل خواندن توسط ماشین باشند، مثلاً invalid_timestamp .
کدهای خطا
invalid_timestamp - درخواست دارای مهر زمانی معتبری نبود.
eea_missing_or_invalid - یا فیلد "eea" در درخواست تنظیم نشده بود یا نامعتبر بود.
ad_user_data_missing - فیلد درخواست "ad_user_data" تنظیم نشده است. فیلد "ad_user_data" برای همه درخواستهای DMA درون محدوده الزامی است.
ad_user_data_invalid - مقدار درخواست "ad_user_data" نامعتبر است. فیلد "ad_user_data" برای همه درخواستهای DMA در محدوده مورد نیاز است.
ad_personalization_missing_or_invalid - یا فیلد "ad_personalization" در درخواست تنظیم نشده بود یا نامعتبر بود. فیلد "ad_personalization" برای همه درخواستهای DMA در محدوده الزامی است.
رویدادهای تبلیغاتی، اشیاء اصلی تخصیص برنامه هستند و شامل ویژگیهای زیر خواهند بود.
نکات مهم در مورد رفتار پاسخ وابسته به رضایت کاربر:
اگر تبدیل دارای رضایت کاربر از دادههای تبلیغاتی باشد و کاربر در تنظیمات کاربری گوگل خود رضایت استفاده متقابل را اعلام کرده باشد، گوگل ادز در تمام CPS های خود با یک کلیک آخر پاسخ خواهد داد. اگر کاربر در تنظیمات کاربری گوگل خود به رضایت استفاده متقابل رضایت نداده باشد، گوگل ادز بر اساس هر CPS با چندین کلیک آخر پاسخ خواهد داد.
اگر تبدیل شامل CPS های خاصی در رضایت استفاده متقابل انتخاب شده توسط کاربر باشد اما شامل موارد دیگر نباشد، گوگل ادز در CPS هایی که رضایت استفاده متقابل به آنها اعطا شده است، با یک کلیک آخر پاسخ خواهد داد، اما برای CPS هایی که رضایت استفاده متقابل به آنها اعطا نشده است، بر اساس هر CPS، چندین کلیک آخر انجام خواهد شد.
| پاسخ ردیابی تبدیل | |
|---|---|
ad_event_id | همیشه حاضر رشته Q2owS0VRancwZHk0QlJDdXVMX2U1TQ |
conversion_metric | همیشه حاضر رشته معیار تبدیل مورد استفاده برای انتساب. ما در ابتدا از یک معیار تبدیل پشتیبانی خواهیم کرد. conversion |
timestamp | همیشه حاضر شماره مهر زمانی یونیکس که رویداد تبلیغ در آن رخ داده است، بر حسب ثانیه با دقت میکروثانیه. این مقدار باید برای انتساب آخرین کلیک استفاده شود. 1432681913.123456 |
campaign_type | همیشه حاضر رشته این فیلد نوع کمپینی که رویداد تبلیغاتی را ایجاد کرده است را مشخص میکند. مقادیر ممکن به شرح زیر است. ACI ACE ACPre Search Display Video Shopping Hotel Performance_Max Other ACI مخفف App Campaign for Install و ACE مخفف App Campaigns for Engagement است. |
campaign_id | همیشه حاضر شماره شناسه عددی کمپین تبلیغاتی که رویداد تبلیغاتی را ایجاد کرده است. این مقدار منحصر به فرد بودنش تضمین شده است. 123456789 |
campaign_name | همیشه حاضر رشته نام کمپین تعریفشده توسط تبلیغکننده که رویداد تبلیغاتی را ایجاد کرده است. تضمین نمیشود که این مقدار منحصربهفرد باشد. Occasional Gamers (Video) |
ad_type | همیشه حاضر رشته نوع تبلیغی که منجر به رویداد تبلیغ شده است. این مقدار میتواند برای تمایز بین انواع مختلف موجودی به شرح زیر استفاده شود. تبلیغ اپلیکیشنClickToDownload AppDeepLink AppDeepLinkContinue Unknown |
external_customer_id | همیشه حاضر شماره شناسه تبلیغکننده برای تبلیغکنندهای که مالک کمپینی است که رویداد تبلیغاتی را تولید کرده است. این مقدار میتواند برای تمایز حسابهای گوگل ادز استفاده شود. 123456789 |
location | همیشه حاضر شماره کد شناسه موقعیت مکانی برای موقعیت جغرافیایی رویداد تبلیغ. برای تفسیر کدهای موقعیت مکانی به مرجع API تبلیغات گوگل مراجعه کنید. |
network_type | همیشه حاضر رشته این فیلد شبکه تبلیغاتی گوگل ادز که رویداد تبلیغ در آن رخ داده است را شناسایی میکند. مقادیر ممکن به شرح زیر است. Search Display YouTube GoogleTv cross-network |
network_subtype | وقتی رشته این فیلد «زیرنوع» شبکه تبلیغاتی گوگل ادز که رویداد تبلیغ در آن رخ داده است را مشخص میکند. مقادیر ممکن بر اساس نوع شبکه اصلی متفاوت است. جستجوجستجوی معمولی گوگلGoogleSearch SearchPartners نمایشناشران وب موبایلmGDN Google AdMob یوتیوبشبکه ویدیوهای یوتیوبYouTubeVideos YouTubeSearch VideoPartners گوگل تیویشبکه ویدیوهای GoogleTVGoogleTvVideos شبکه متقابلحداکثر عملکرد در شبکه متقاطعcross-network |
video_id | فقط زمانی ارائه میشود که رشته شناسه ویدیوی یوتیوب مرتبط با رویداد تبلیغ. dQw4w9WgXcQ |
keyword | فقط زمانی ارائه میشود که رشته کلمه کلیدی جستجو مرتبط با رویداد تبلیغ. +food +delivery |
match_type | فقط زمانی ارائه میشود که رشته نوع تطابق برای کلمات کلیدی جستجو. دقیقe p b |
placement | فقط زمانی ارائه میشود که رشته جایگاه مرتبط با رویداد تبلیغ. mobileapp::1-343200656 |
ad_group_id | فقط زمانی ارائه میشود که شماره شناسه عددی گروه تبلیغاتی که با رویداد تبلیغ تولید شده است. این مقدار منحصر به فرد بودنش تضمین شده است. 123456789 |
ad_group_name | فقط زمانی ارائه میشود که رشته نام گروه تبلیغاتی تعریفشده توسط تبلیغکننده که رویداد تبلیغاتی را ایجاد کرده است. تضمین نمیشود که این مقدار منحصربهفرد باشد. My App AdGroup |
creative_id | فقط زمانی ارائه میشود که شماره شناسه عددی واحد تبلیغات خلاق که رویداد تبلیغ را تولید کرده است. این مقدار منحصر به فرد بودنش تضمین شده است. 123456789 |
interaction_type | این حوزه همیشه درگیرکننده خواهد بود. رشته |
is_deterministic | نشان میدهد که آیا روش انتساب قطعی است یا خیر. بولی true, false |
device_model | مدل دستگاهی که رویداد تبلیغاتی را ایجاد کرده است. رشته sm-s936w, sm-3936w |
os_version | نسخه اصلی سیستم عامل که رویداد تبلیغاتی را ایجاد کرده است. رشته 14, 12 |
country | کد دو حرفی کشور که رویداد تبلیغاتی را ایجاد کرده است. رشته CA, US |
city | شهری که رویداد تبلیغاتی را تولید کرده است. رشته san jose, london |
region | ایالت یا استانی که رویداد تبلیغاتی را تولید کرده است. رشته california, british columbia |
پاسخهای نمونه
نمونهای از پاسخ برای تبدیل قطعی به صورت زیر است:
{
"ad_events": [{
"ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ",
"conversion_metric": "conversion",
"interaction_type": "engagement",
"campaign_type": "ACI",
"campaign_id": 123456789,
"campaign_name": "My App Campaign",
"network_type": null,
"network_subtype": null,
"ad_group_id": null,
"ad_group_name": null,
"is_deterministic": true
"timestamp": 1234567.898765,
}],
"errors": [],
"attributed": true
}نمونهای از پاسخ برای تبدیل غیرقطعی iOS به صورت زیر است:
{
"ad_events": [{
"ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ",
"conversion_metric": "conversion",
"interaction_type": "engagement",
"campaign_type": "ACI",
"campaign_id": 123456789,
"campaign_name": "My App Campaign",
"network_type": null,
"network_subtype": null,
"ad_group_id": null,
"ad_group_name": null,
"is_deterministic": false
},
"device_info": {
"device_model": "iphone12,3",
"os_version": "14",
},
"timestamp": 1432681918.123456
}],
"errors": [],
"attributed": true
}نمونهای از پاسخ برای تبدیل غیرقطعی اندروید به صورت زیر است:
{
"ad_events": [
{
"ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ",
"conversion_metric": "conversion",
"interaction_type": "click",
"campaign_type": "ACI",
"campaign_id": 123456789,
"campaign_name": "My App Campaign",
"network_type": null,
"network_subtype": null,
"ad_group_id": null,
"ad_group_name": null,
"is_deterministic": false
"geo_info": {
"city": "san jose"
"country": "US"
"region": "california"
},
"device_info": {
"device_model": "sm-s926u",
"os_version": "14",
},
"timestamp": 1432681918.123456
},
],
"errors": [],
"warnings" [],
}نمونهای از پاسخی که gbraid برای تبدیل iOS/Android ارائه داده است:
{
"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,
"interaction_type": "engagement",
"network_type": "NULL",
"is_deterministic": true
"timestamp": 0.000000,
}],
"errors": [],
"attributed": true
"warnings" [],
}نمونهای از پاسخ ردیابی تبدیل زمانی که درخواست حاوی خطا باشد:
{
"ad_events": [],
"errors": ["INVALID_CURRENCY_CODE"],
"attributed": false
}نمونهای از پاسخ منفی برای ردیابی تبدیل:
{
"ad_events": [],
"errors": [],
"attributed": false
}برای همه درخواستهای ردیابی تبدیل، پاسخ ردیابی تبدیل ارسال خواهد شد.
نمونهای از پاسخ مثبت برای پیگیری تبدیل برای یک کاربر غیر EEA برای یک کمپین اپلیکیشن جهانی:
{
"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,
"warnings": []
}نمونهای از پاسخ مثبت برای پیگیری تبدیل برای یک کاربر غیر EEA برای یک کمپین جستجو:
{
"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,
"warnings": []
}نمونهای از پاسخ مثبت برای ردیابی تبدیل برای یک کاربر غیر EEA برای یک کمپین نمایشی:
{
"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,
"warnings": []
}نمونهای از پاسخ مثبت برای ردیابی تبدیل برای یک کاربر غیر EEA برای یک کمپین یوتیوب:
{
"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,
"warnings": []
}نمونهای از پاسخ ردیابی تبدیل نسبت داده شده که در آن تبدیل به هر دو تعامل تبلیغاتی Play + Search نسبت داده شده است اما رضایت استفاده متقابل 5(2)(b) + 5(2)(c) بین CPS های Play + Search رد شده است:
{
"ad_events": [{
"ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ",
"conversion_metric": "conversion",
"interaction_type": "click",
"campaign_type": "ACI",
"campaign_id": 123456789,
"campaign_name": "My App Campaign",
"ad_type": "ClickToDownload",
"external_customer_id": 123456789,
"location": 21144,
"network_type": "Display",
"network_subtype": "",
"video_id": null,
"keyword": null,
"match_type": null,
"placement": null,
"ad_group_id": null,
"ad_group_name": "",
"creative_id": null,
"timestamp": 1432681913.123456
},
{
"ad_event_id": "I8YUwWqxvOyqcwOcqBAkYZBMaOONSd",
"conversion_metric": "conversion",
"interaction_type": "click",
"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": "",
"video_id": null,
"keyword": null,
"match_type": null,
"placement": null,
"ad_group_id": null,
"ad_group_name": "",
"creative_id": null,
"timestamp": 1432681913.123456
},
],
"errors": [],
"warnings": [],
"attributed": true
}نمونهای از پاسخ ردیابی تبدیل نسبت داده شده که در آن تبدیل به هر دو تعامل تبلیغاتی Play + Search نسبت داده میشود و رضایت استفاده متقابل 5(2)(b) + 5(2)(c) بین CPS های Play + Search پذیرفته میشود، مشابه رفتار تبدیل امروزی است:
{
"ad_events": [{
"ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ",
"conversion_metric": "conversion",
"interaction_type": "click",
"campaign_type": "ACI",
"campaign_id": 123456789,
"campaign_name": "My App Campaign",
"ad_type": "ClickToDownload",
"external_customer_id": 123456789,
"location": 21144,
"network_type": "Display",
"network_subtype": "",
"video_id": null,
"keyword": null,
"match_type": null,
"placement": null,
"ad_group_id": null,
"ad_group_name": "",
"creative_id": null,
"timestamp": 1432681913.123456
},
],
"errors": [],
"warnings": [],
"attributed": true
}نمونهای از پاسخ ردیابی تبدیل نسبت داده شده که در آن تبدیل به هر دو تعامل تبلیغات Play، Search و YouTube نسبت داده شده و رضایت استفاده متقابل 5(2)(b) + 5(2)(c) بین CPS های Play + Search پذیرفته شده اما برای CPS YouTube رد شده است:
{
"ad_events": [{
"ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ",
"conversion_metric": "conversion",
"interaction_type": "click",
"campaign_type": "ACI",
"campaign_id": 123456789,
"campaign_name": "My App Campaign",
"ad_type": "ClickToDownload",
"external_customer_id": 123456789,
"location": 21144,
"network_type": "Display",
"network_subtype": "",
"video_id": null,
"keyword": null,
"match_type": null,
"placement": null,
"ad_group_id": null,
"ad_group_name": "",
"creative_id": null,
"timestamp": 1432681913.123456
},
{
"ad_event_id": "I8YUwWqxvOyqcwOcqBAkYZBMaOONSd",
"conversion_metric": "conversion",
"interaction_type": "click",
"campaign_type": "ACI",
"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": null,
"keyword": null,
"match_type": null,
"placement": null,
"ad_group_id": null,
"ad_group_name": "",
"creative_id": null,
"timestamp": 1432681913.123456
},
],
"errors": [],
"warnings": [],
"attributed": true
}درخواست انتساب بین شبکهای
وقتی گوگل ادز به درخواست ردیابی تبدیل پاسخ مثبت میدهد، مصرفکننده API باید پس از شناسایی آخرین کلیک، گوگل ادز را از تصمیم تخصیص بین شبکهای خود مطلع کند.
درخواست انتساب بین شبکهای مشابه درخواست ردیابی تبدیل اصلی است، اما مسیر درخواست به صورت زیر است:
/pagead/conversion/app/1.1/cross_network
و اضافه کردن دو پارامتر مورد نیاز:
| درخواست انتساب بین شبکهای | |
|---|---|
ad_event_id | مورد نیاز مکان: پرس و جو شناسه |
attributed | مورد نیاز مکان: پرس و جو اینکه آیا گوگل ادز اعتبار تبدیل را از مصرفکننده API دریافت کرده است یا خیر. یا |
نمونهای از یک درخواست انتساب معتبر بین شبکهای:
POST /pagead/conversion/app/1.1/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یک درخواست انتساب معتبر بین شبکهای، همیشه یک پاسخ عمومی ۲۰۰ بدون هیچ بدنه پاسخی دریافت میکند.