پرش به مطلب اصلی

ردیابی رویدادها

داده‌های رویداد را از وب‌اپ خود با Adtrace.trackEvent ارسال کنید. آن را فقط پس از Adtrace.initSdk فراخوانی کنید.

مهم

قبل از ارسال رویدادها، مطمئن شوید نصب با موفقیت ردیابی شده است. رویدادهای ارسال شده بدون نصب ثبت‌شده ذخیره می‌شوند اما در آمار پنل نمایش داده نمی‌شوند.

جریان معمول:

۱. یک رویداد در پنل ایجاد کنید و توکن رویداد آن را کپی کنید. ۲. Adtrace.trackEvent را با eventToken و پارامترهای اختیاری فراخوانی کنید. ۳. برای جریان‌های redirect، قبل از navigating، منتظر promise برگشتی باشید.

Method signature

Adtrace.trackEvent({
eventToken: string,
// پارامترهای اختیاری در زیر
});

یک Promise برمی‌گرداند که پس از ارسال رویداد توسط SDK و دریافت پاسخ از backend resolve می‌شود.

پارامترهای اجباری

پارامترنوعتوضیحات
eventTokenstringتوکن رویداد از پنل Adtrace.

ردیابی یک رویداد ساده

Adtrace.trackEvent({
eventToken: '{YourEventToken}',
});

ثبت درآمد رویداد

هنگامی که کاربر یک خرید یا اقدام درآمدزای دیگری انجام می‌دهد، درآمد را به یک رویداد متصل کنید.

پارامترنوعتوضیحات
revenuenumberمقدار درآمد مثبت.
currencystringکد ارز ISO مانند USD، EUR یا IRR.

درآمد را از طریق پارامترهای value ارسال نکنید. همیشه از revenue و currency استفاده کنید.

Adtrace.trackEvent({
eventToken: '{YourEventToken}',
revenue: 10,
currency: 'USD',
});

افزودن پارامترهای callback

یک URL callback برای رویداد خود در پنل ثبت کنید. Adtrace هنگام ردیابی رویداد یک درخواست GET به آن URL ارسال می‌کند. callbackParams را اضافه کنید تا جفت‌های key-value به URL callback الحاق شوند.

پارامترنوعتوضیحات
callbackParamsarrayآرایه‌ای از شیءهای { key, value }.
Adtrace.trackEvent({
eventToken: '{YourEventToken}',
callbackParams: [
{ key: 'product_id', value: 'sku-42' },
{ key: 'user_id', value: 'user-9' },
],
});

مثال درخواست callback:

https://www.example.com/callback?product_id=sku-42&user_id=user-9
اطلاع

Adtrace پارامترهای callback سفارشی را ذخیره نمی‌کند. آن‌ها فقط هنگامی که یک URL callback در پنل پیکربندی شده باشد الحاق می‌شوند.

افزودن پارامترهای partner

داده‌های اضافی را به partner‌های شبکه پیکربندی‌شده در پنل ارسال کنید.

پارامترنوعتوضیحات
partnerParamsarrayآرایه‌ای از شیءهای { key, value }.
Adtrace.trackEvent({
eventToken: '{YourEventToken}',
partnerParams: [
{ key: 'product_id', value: 'sku-42' },
{ key: 'user_id', value: 'user-9' },
],
});
SDK only

پارامترهای partner توسط client SDK به partner‌های شبکه فعال‌شده ارسال می‌شوند.

افزودن پارامترهای value

پارامترهای value فعال‌شده در پنل یا متصل به payload رویداد را ارسال کنید.

پارامترنوعتوضیحات
valueParamsarrayآرایه‌ای از شیءهای { key, value }.
Adtrace.trackEvent({
eventToken: '{YourEventToken}',
valueParams: [
{ key: 'level', value: '3' },
{ key: 'score', value: '1250' },
],
});

درآمد را در پارامترهای value ارسال نکنید. به جای آن از revenue استفاده کنید.

Deduplication رویدادها

یک deduplicationId ارسال کنید تا از ردیابی دوباره همان رویداد منطقی جلوگیری شود. SDK IDهای اخیر را بر اساس eventDeduplicationListLimit در cache نگه می‌دارد.

پارامترنوعتوضیحات
deduplicationIdstringشناسه منحصربه‌فرد برای این وقوع رویداد.
Adtrace.trackEvent({
eventToken: '{YourEventToken}',
deduplicationId: 'order-12345',
});

ردیابی سپس redirect (promise)

trackEvent یک Promise برمی‌گرداند. هنگامی که نیاز دارید یک رویداد را قبل از redirect کردن کاربر به صفحه دیگری ردیابی کنید از آن استفاده کنید.

مهم

resolve شدن promise ممکن است زمان قابل توجهی طول بکشد. از یک timeout استفاده کنید تا redirect‌ها به طور نامحدود مسدود نشوند.

حتی اگر promise رد شود یا timeout شود، SDK رویداد را در صف داخلی خود نگه می‌دارد و در بارگذاری بعدی صفحه دوباره تلاش می‌کند.

Promise.race([
Adtrace.trackEvent({
eventToken: '{YourEventToken}',
}),
new Promise((_, reject) => {
setTimeout(() => reject(new Error('Timed out')), 2000);
}),
])
.catch(() => {
// رویداد همچنان در صف داخلی قرار دارد
})
.finally(() => {
window.location.href = 'https://www.example.org/';
});