ردیابی رویدادها
دادههای رویداد را از وباپ خود با Adtrace.trackEvent ارسال کنید. آن را فقط پس از Adtrace.initSdk فراخوانی کنید.
قبل از ارسال رویدادها، مطمئن شوید نصب با موفقیت ردیابی شده است. رویدادهای ارسال شده بدون نصب ثبتشده ذخیره میشوند اما در آمار پنل نمایش داده نمیشوند.
جریان معمول:
۱. یک رویداد در پنل ایجاد کنید و توکن رویداد آن را کپی کنید.
۲. Adtrace.trackEvent را با eventToken و پارامترهای اختیاری فراخوانی کنید.
۳. برای جریانهای redirect، قبل از navigating، منتظر promise برگشتی باشید.
Method signature
Adtrace.trackEvent({
eventToken: string,
// پارامترهای اختیاری در زیر
});
یک Promise برمیگرداند که پس از ارسال رویداد توسط SDK و دریافت پاسخ از backend resolve میشود.
پارامترهای اجباری
| پارامتر | نوع | توضیحات |
|---|---|---|
eventToken | string | توکن رویداد از پنل Adtrace. |
ردیابی یک رویداد ساده
Adtrace.trackEvent({
eventToken: '{YourEventToken}',
});
ثبت درآمد رویداد
هنگامی که کاربر یک خرید یا اقدام درآمدزای دیگری انجام میدهد، درآمد را به یک رویداد متصل کنید.
| پارامتر | نوع | توضیحات |
|---|---|---|
revenue | number | مقدار درآمد مثبت. |
currency | string | کد ارز 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 الحاق شوند.
| پارامتر | نوع | توضیحات |
|---|---|---|
callbackParams | array | آرایهای از شیءهای { 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های شبکه پیکربندیشده در پنل ارسال کنید.
| پارامتر | نوع | توضیحات |
|---|---|---|
partnerParams | array | آرایهای از شیءهای { key, value }. |
Adtrace.trackEvent({
eventToken: '{YourEventToken}',
partnerParams: [
{ key: 'product_id', value: 'sku-42' },
{ key: 'user_id', value: 'user-9' },
],
});
پارامترهای partner توسط client SDK به partnerهای شبکه فعالشده ارسال میشوند.
افزودن پارامترهای value
پارامترهای value فعالشده در پنل یا متصل به payload رویداد را ارسال کنید.
| پارامتر | نوع | توضیحات |
|---|---|---|
valueParams | array | آرایهای از شیءهای { key, value }. |
Adtrace.trackEvent({
eventToken: '{YourEventToken}',
valueParams: [
{ key: 'level', value: '3' },
{ key: 'score', value: '1250' },
],
});
درآمد را در پارامترهای value ارسال نکنید. به جای آن از revenue استفاده کنید.
Deduplication رویدادها
یک deduplicationId ارسال کنید تا از ردیابی دوباره همان رویداد منطقی جلوگیری شود. SDK IDهای اخیر را بر اساس eventDeduplicationListLimit در cache نگه میدارد.
| پارامتر | نوع | توضیحات |
|---|---|---|
deduplicationId | string | شناسه منحصربهفرد برای این وقوع رویداد. |
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/';
});