کلیدهای تجمیع چیست، چگونه در API گزارش Attribution استفاده میشوند و چگونه میتوانید اهداف را به کلید تبدیل کنید.
به عنوان یک شرکت فناوری تبلیغاتی که کمپینهایی را در مکانهای مختلف برای دستههای مختلف محصولات اجرا میکند، میخواهید به تبلیغکنندگان کمک کنید تا به سؤالات زیر پاسخ دهند:
- هر کمپین من در هر منطقه جغرافیایی چند خرید از هر دسته محصول انجام داد؟
- هر یک از کمپین های من در هر منطقه جغرافیایی چقدر درآمد برای هر دسته محصول ایجاد کرد؟
در حالی که بسیاری از شرکتهای فناوری تبلیغات، تبلیغکنندگان را تشویق میکنند تا انواع مختلفی از تبدیلها را پیکربندی کنند، تمرکز بر مهمترین تبدیلها مانند خرید، راه خوبی برای اطمینان از دقیق و جزئی بودن نتایج خلاصه برای این رویدادهای مهم است.
برای انجام این کار، باید قبل از جمع آوری داده ها به سؤالاتی که می خواهید پاسخ دهید فکر کنید.
ابعاد، کلیدها و مقادیر
برای پاسخ به این سوالات، اجازه دهید نگاهی به ابعاد، کلیدها و مقادیر بیاندازیم.
ابعاد
همانطور که در اینجا توضیح داده شده است، برای درک نحوه درآمدزایی کمپین های شما، باید ابعاد زیر را ردیابی کنید:
- شناسه کمپین تبلیغاتی: شناسه کمپین خاص.
- شناسه جغرافیایی: منطقه جغرافیایی که آگهی در آن ارائه شده است.
- دسته بندی محصول: نوع محصول همانطور که شما آن را تعریف کرده اید.
در حالی که شناسه کمپین و ابعاد شناسه جغرافیا زمانی که تبلیغ ارائه میشود (زمان ارائه آگهی) مشخص میشود، دسته محصول از یک رویداد راهاندازی، زمانی که کاربر تبدیل را کامل میکند (زمان تبدیل) شناخته میشود.
ابعادی که می خواهید برای این مثال ردیابی کنید مانند تصویر زیر است:
کلیدهای تجمیع (سطل) چیست؟
واژههای کلید جمعآوری و سطل به یک چیز اشاره دارند. کلید تجمع در APIهای مرورگر مورد استفاده برای پیکربندی گزارش ها استفاده می شود. اصطلاح bucket در گزارشهای جمعآوریشده و خلاصه و در APIهای سرویس تجمیع استفاده میشود.
یک کلید تجمیع (کلید به اختصار) قطعه ای از داده است که مقادیر ابعاد مورد پیگیری را نشان می دهد. بعداً داده ها در امتداد هر کلید انباشته جمع می شوند.
برای مثال، فرض کنید ابعاد دسته محصول، شناسه جغرافیایی و شناسه کمپین را دنبال میکنید.
وقتی کاربری که در Geography ID 7 یک تبلیغ برای Campaign ID 12 میبیند، و بعداً با خرید محصولی در دسته محصول 25 تبدیل میکند، میتوانید یک کلید تجمیع مانند تصویر زیر تنظیم کنید:
بعداً خواهید دید که یک کلید تجمیع در عمل دقیقاً شبیه این نیست، اما در حال حاضر اجازه دهید روی اطلاعات موجود در کلید تمرکز کنیم.
ارزش های انباشته چیست؟
برای پاسخ به سوالات خود در مورد ابعادی که بیان کردیم، می خواهید بدانید:
- تعداد خریدها (تعداد خرید). پس از تجمیع و در دسترس قرار گرفتن در یک گزارش خلاصه، این تعداد کل خرید (ارزش خلاصه) خواهد بود.
- درآمد هر خرید (ارزش خرید). پس از تجمیع و در دسترس قرار گرفتن در یک گزارش خلاصه، این کل درآمد (مقدار خلاصه) خواهد بود.
هر یک از اینها - تعداد خرید برای یک تبدیل و ارزش خرید برای یک تبدیل - یک ارزش تجمیعپذیر است. شما می توانید مقادیر قابل جمع را به عنوان مقادیر اهداف اندازه گیری خود در نظر بگیرید.
سوال | ارزش جمعی = هدف اندازه گیری |
---|---|
چند خرید … | تعداد خرید |
چقدر درآمد … | ارزش خرید |
وقتی کاربری که در Geographic ID 7 یک تبلیغ برای Campaign ID 12 میبیند، و بعداً با خرید محصولی از دسته محصول 25 به قیمت 120 دلار (با فرض اینکه واحد پول شما USD است)، تبدیل به یک تبلیغ برای شناسه کمپین 12 میکند (با فرض اینکه واحد پول شما USD است)، میتوانید یک کلید تجمیع و مقادیر قابل تجمیع را تنظیم کنید که شبیه این هستند. :
مقادیر قابل انباشت در هر کلید در بسیاری از کاربران برای ایجاد بینش انبوه، به شکل مقادیر خلاصه در گزارش های خلاصه، جمع می شوند.
مقادیر قابل جمع آوری برای ایجاد بینش انبوه برای اهداف اندازه گیری شما جمع می شوند.
توجه داشته باشید که این نمودار رمزگشایی را حذف می کند و یک مثال ساده شده را بدون اعمال نویز نشان می دهد. در بخش بعدی این مثال را با نویز بیان می کنیم.
از کلیدها و مقادیر تا گزارشات
حال بیایید در مورد چگونگی ارتباط کلیدها و مقادیر قابل جمع با گزارش ها بحث کنیم.
گزارش های جمع آوری
وقتی کاربر روی تبلیغی کلیک میکند یا آن را مشاهده میکند و بعداً تبدیل میکند، به مرورگر دستور میدهید که یک جفت {کلید تجمعی، ارزش تجمیعپذیر} را ذخیره کند.
در مثال ما، وقتی یک کاربر روی یک تبلیغ کلیک یا مشاهده میکند و بعداً تبدیل میکند، به مرورگر دستور میدهید که دو مشارکت ایجاد کند (یکی برای هر هدف اندازهگیری).
بعداً خواهید دید که یک گزارش جمعآوری {aggregation key, aggregatable value} دقیقاً شبیه این نیست — اما فعلاً بیایید روی اطلاعات موجود در گزارش تمرکز کنیم.
وقتی به مرورگر دستور میدهید که دو مشارکت ایجاد کند، مرورگر یک گزارش جمعآوری میکند (اگر بتواند تبدیل را با نمای قبلی یا کلیک مطابقت دهد ).
یک گزارش جمع آوری شامل:
- مشارکت(های) که پیکربندی کرده اید.
- فراداده درباره رویداد کلیک یا مشاهده و رویداد تبدیل: سایتی که در آن تبدیل رخ داده است و موارد دیگر. همه فیلدها را در یک گزارش جمع آوری مشاهده کنید .
گزارشهای جمعآوری شده با فرمت JSON هستند و شامل یک فیلد بارگذاری هستند که به عنوان ورودی داده برای گزارش خلاصه نهایی استفاده میشود.
محموله حاوی فهرستی از مشارکتها است که هر کدام یک جفت {Aggregation key, aggregatable value} هستند:
-
bucket
: کلید تجمیع که به صورت بای تست کدگذاری می شود. -
value
: مقدار قابل جمع برای آن هدف اندازه گیری که به عنوان یک بایت تست رمزگذاری شده است.
در اینجا یک مثال است:
{
"data": [
{
"bucket": "111001001",
"value": "11111010000",
}
],
"operation": "histogram"
}
در عمل، گزارشهای جمعآوریشده به گونهای کدگذاری میشوند که سطلها و مقادیر متفاوت از مثال قبلی به نظر میرسند (یعنی ممکن است یک سطل شبیه \u0000\u0000\x80\u0000
باشد). سطل و مقدار هر دو بایت تست هستند.
گزارش های خلاصه
گزارشهای جمعآوریشده در بسیاری از مرورگرها و دستگاهها (کاربران) به شرح زیر جمعآوری میشوند:
- یک فناوری تبلیغاتی، گزارشهای خلاصهای را برای مجموعهای از کلیدها، و مجموعهای از گزارشهای جمعآوریشده که از بسیاری از مرورگرها (کاربران) میآیند، درخواست میکند.
- گزارشهای جمعآوری شده توسط سرویس تجمیع رمزگشایی میشوند.
- برای هر کلید، مقادیر قابل جمع از گزارش های قابل جمع آوری جمع می شود.
- نویز به مقدار خلاصه اضافه می شود.
نتیجه یک گزارش خلاصه است که شامل مجموعهای از جفتهای {کلید تجمع، مقدار خلاصه} است.
گزارش خلاصه شامل مجموعه ای از جفت های کلید-مقدار به سبک فرهنگ لغت JSON است. هر جفت شامل:
-
bucket
: کلید تجمیع که به صورت بای تست کدگذاری می شود. -
value
: مقدار خلاصه در اعشار برای یک هدف اندازهگیری معین، خلاصه شده از تمام گزارشهای جمعآوریشده موجود، با سطح اضافهشده نویز.
مثال:
[
{"bucket": "111001001", "value": "2558500"},
{"bucket": "111101001", "value": "3256211"},
{...}
]
در عمل، گزارشهای خلاصه بهگونهای کدگذاری میشوند که سطلها و مقادیر متفاوت از آنچه در مثال ذکر شده به نظر برسد (یعنی یک سطل ممکن است شبیه \u0000\u0000\x80\u0000
باشد). سطل و مقدار هر دو بایت تست هستند.
کلیدهای تجمع در عمل
کلیدهای تجمیع (سطل) توسط یک شرکت فناوری تبلیغاتی، معمولاً در دو مرحله تعریف میشوند: زمانی که یک تبلیغ کلیک یا مشاهده میشود، و زمانی که کاربر تبدیل میکند.
ساختار کلیدی
ما از عبارت ساختار کلید برای تعیین مجموعه ای از ابعاد رمزگذاری شده در یک کلید استفاده می کنیم.
به عنوان مثال، شناسه کمپین × شناسه جغرافیایی × دسته محصول یک ساختار کلیدی است.
انواع کلیدی
مقادیر قابل جمع برای یک کلید معین در چندین کاربر/مرورگر جمع می شوند. اما دیدهایم که ارزشهای انباشته میتوانند اهداف اندازهگیری مختلف، مانند ارزش خرید یا تعداد خرید را ردیابی کنند. شما می خواهید اطمینان حاصل کنید که سرویس تجمیع مقادیر قابل جمع آوری از همان نوع را جمع می کند.
برای انجام این کار، در داخل هر کلید، قطعه ای از داده را رمزگذاری کنید که به شما می گوید مقدار خلاصه نشان دهنده چه چیزی است - هدف اندازه گیری که این کلید به آن اشاره دارد. یکی از راه های انجام این کار، ایجاد یک بعد اضافی برای کلید خود است که نشان دهنده نوع هدف اندازه گیری است.
با استفاده از مثال قبلی ما، این نوع هدف اندازه گیری دو مقدار ممکن متفاوت خواهد داشت:
- تعداد خرید اولین نوع هدف اندازه گیری است.
- ارزش خرید نوع دوم هدف اندازه گیری است.
اگر n هدف اندازه گیری داشتید، نوع هدف اندازه گیری n نوع مختلف مقدار داشت.
شما می توانید ابعاد یک کلید را به عنوان یک متریک در نظر بگیرید. به عنوان مثال، "تعداد خرید یک محصول خاص در هر کمپین در هر جغرافیا".
اندازه کلید، اندازه ابعاد
حداکثر اندازه کلید بر حسب بیت تعریف می شود—تعداد صفر و یک در دودویی برای ایجاد کلید کامل. API اجازه می دهد برای طول کلید 128 بیت .
این اندازه کلیدهای بسیار دانهدار را امکانپذیر میکند، اما کلیدهای دانهدار بیشتر احتمالاً به مقادیر نویز بیشتری منجر میشوند. می توانید در مورد نویز در درک نویز بیشتر بخوانید.
همانطور که قبلاً معرفی شد، ابعاد در کلید تجمیع کدگذاری می شوند. هر بُعد دارای ویژگی خاصی است – یعنی تعداد مقادیر متمایز که بعد می تواند بگیرد. بسته به اصلی بودن آن، هر بعد باید با تعداد معینی بیت نشان داده شود. با n بیت، می توان 2 n گزینه متمایز را بیان کرد.
برای مثال، یک بعد کشوری ممکن است دارای 200 باشد، زیرا حدود 200 کشور در جهان وجود دارد. چند بیت برای رمزگذاری این بعد لازم است؟
7 بیت فقط 2 7 = 128 گزینه متمایز را ذخیره می کند که کمتر از 200 مورد ضروری است.
8 بیت 2 8 = 256 گزینه متمایز را ذخیره می کند که بیشتر از 200 مورد لازم است، بنابراین می توانید از n=8 بیت برای رمزگذاری این بعد استفاده کنید.
رمزگذاری کلید
وقتی کلیدها را در مرورگر تنظیم می کنید، باید به صورت هگزادسیمال کدگذاری شوند. در گزارش های خلاصه، کلیدها به صورت باینری ظاهر می شوند (و سطل نامیده می شوند).
دو قطعه کلید را برای یک کلید کامل تنظیم کنید
بیایید فرض کنیم از یک کلید برای ردیابی ابعاد زیر استفاده می کنید:
- شناسه کمپین
- شناسه جغرافیا
- دسته بندی محصول
در حالی که شناسه کمپین و ابعاد شناسه جغرافیا زمانی که تبلیغ ارائه میشود (زمان ارائه آگهی) مشخص است، دسته محصول از یک رویداد راهاندازی مشخص میشود، زمانی که کاربر یک تبدیل (زمان تبدیل) را تکمیل میکند.
در عمل، این بدان معنی است که شما یک کلید را در دو مرحله تنظیم خواهید کرد:
- در زمان کلیک یا مشاهده، یک قسمت از کلید - شناسه کمپین × شناسه جغرافیایی را تنظیم خواهید کرد.
- قسمت دوم کلید —دسته محصول— را در زمان تبدیل تنظیم خواهید کرد.
به این قسمت های مختلف کلیدها، قطعات کلیدی می گویند.
یک کلید با گرفتن OR ( v
) قطعات کلیدی آن محاسبه می شود.
مثال:
- قطعه کلید سمت منبع =
0x159
- قطعه کلید سمت ماشه =
0x400
- کلید =
0x159 v 0x400 = 0x559
تراز کردن قطعات کلیدی
با دو قطعه کلید 64 بیتی که تا 128 بیت با استفاده از پرکننده ها/تغییرهای 64 بیتی با دقت قرار داده شده اند (شانزده صفر)، قطعات کلید OR-ing معادل به هم پیوستن آنها است که استدلال و تأیید آسان تر است:
- قطعه کلید سمت منبع =
0xa7e297e7c8c8d0540000000000000000
- قطعه کلید سمت ماشه =
0x0000000000000000674fbe308a597271
- کلید =
0xa7e297e7c8c8d0540000000000000000 v 0x0000000000000000674fbe308a597271 = 0xa7e297e7c8c8d054674fbe308a597271
کلیدهای متعدد در هر کلیک یا مشاهده آگهی
در عمل، ممکن است چندین کلید برای هر رویداد منبع انتساب (کلیک یا مشاهده آگهی) تنظیم کنید. به عنوان مثال، می توانید تنظیم کنید:
- کلیدی که شناسه جغرافیایی × شناسه کمپین را ردیابی می کند.
- کلید دیگری که نوع خلاق × شناسه کمپین را ردیابی می کند.
برای مثال دیگری به استراتژی B نگاهی بیندازید.
رمزگذاری ابعاد در کلیدها
هنگام درخواست گزارشهای خلاصه، باید با درخواست گزارشهای خلاصه برای مجموعه خاصی از کلیدهای تجمیع، به سرویس تجمیع بگویید که میخواهید به چه معیارهایی دسترسی داشته باشید.
گزارشهای خلاصه حاوی جفتهای خام {key, summary value} هستند و هیچ اطلاعات اضافی درباره کلید وجود ندارد. این بدان معنی است که:
- هنگامی که کلیدها را بهعنوان مشاهده یا کلیک کاربر بر روی یک تبلیغ و بعداً تبدیل میکند، تنظیم میکنید، باید کلیدها را بر اساس مقادیر ابعادی که نشان میدهند به طور قابل اعتماد تنظیم کنید.
- هنگام تعریف کلیدهایی که میخواهید گزارشهای خلاصه درخواست کنید، باید بر اساس مقادیر ابعادی که میخواهید، کلیدهایی را که هنگام مشاهده یا کلیک بر روی تبلیغ توسط کاربر تنظیم شدهاند، بهطور قابل اعتماد ایجاد کنید یا به آنها دسترسی داشته باشید. داده های جمع آوری شده را ببینید.
رمزگذاری ابعاد با استفاده از نقشه های ساختار کلیدی
برای رمزگذاری ابعاد در کلیدها، میتوانید با تعیین کلیدهای خود (قبل از زمان ارائه آگهی)، نقشه ساختار کلید را پیش از موعد ایجاد و نگهداری کنید.
نقشه ساختار کلید هر یک از ابعاد شما و موقعیت آنها را در کلید نشان می دهد.
در عمل، ایجاد و حفظ نقشه های ساختار کلیدی به این معنی است که باید منطق رمزگشا را پیاده سازی و حفظ کنید. اگر به دنبال روشی هستید که نیازی به انجام آن نداشته باشد، به جای آن از رویکرد مبتنی بر هش استفاده کنید.
در اینجا یک مثال است:
بیایید فرض کنیم که قصد دارید هم خریدها و هم ارزش خرید را برای کمپین ها، مناطق جغرافیایی و محصولات خاص ردیابی کنید.
دسته محصول، شناسه جغرافیایی و شناسه کمپین باید ابعادی در کلیدهای شما داشته باشند. علاوه بر این، از آنجایی که میخواهید دو هدف اندازهگیری متفاوت را دنبال کنید - تعداد خرید و ارزش خرید - باید یک بعد را به کلید خود اضافه کنید که نوع کلید را ردیابی کند. این به شما این امکان را میدهد تا مشخص کنید که ارزش تجمیعپذیر با دریافت جفتهای {key, aggregatable} در گزارشهای خلاصه چه چیزی را نشان میدهد.
با این اهداف اندازه گیری، کلید شما دارای ابعاد زیر است:
- دسته بندی محصول
- نوع هدف اندازه گیری
- شناسه جغرافیا
- شناسه کمپین
اکنون، با نگاه کردن به هر بعد، برای مورد استفاده خود فرض می کنیم که باید موارد زیر را دنبال کنید:
- 29 دسته بندی محصولات مختلف.
- 8 منطقه جغرافیایی مختلف: آمریکای شمالی، آمریکای مرکزی، آمریکای جنوبی، اروپا، آفریقا، آسیا، کارائیب و اقیانوسیه.
- 16 کمپین مختلف
در اینجا تعداد بیت هایی که برای رمزگذاری هر بعد در کلید خود نیاز دارید آمده است:
- دسته محصول: 5 بیت (2 5 = 32 > 29).
- نوع هدف اندازه گیری: 1 بیت. هدف اندازه گیری یا تعداد خرید یا ارزش خرید است، یعنی دو احتمال متمایز. بنابراین، یک بیت برای ذخیره آن کافی است.
شناسه جغرافیایی: 3 بیت (2 3 = 8). همچنین می توانید یک نقشه ابعادی برای شناسه جغرافیایی تعریف کنید تا بدانید هر مقدار باینری چه منطقه جغرافیایی را نشان می دهد. نقشه ابعاد شما برای بعد شناسه جغرافیایی شما ممکن است به شکل زیر باشد:
مقدار باینری در کلید جغرافیا 000 آمریکای شمالی 001 آمریکای مرکزی 010 آمریکای جنوبی 011 اروپا 100 آفریقا 101 آسیا 110 کارائیب 111 اقیانوسیه شناسه کمپین: 4 بیت (2 4 = 16)
کلیدهایی که از این ساختار پیروی می کنند 13 بیت طول دارند (5 + 1 + 3 + 4).
برای این مثال، نقشه ساختار کلید برای این کلیدها به شکل زیر است:
ترتیب ابعاد درون کلید به شما بستگی دارد.
برای نشان دادن اینکه چگونه ابعاد یک ساختار کلیدی را تشکیل میدهند، از یک نمایش دودویی استفاده میکنیم، به همین دلیل است که شناسه کمپین (نخستین بیتها) سمت راست و دسته محصول (آخرین بیتها) سمت چپترین است. .
در هر بعد، مهم ترین بیت - بیتی که دارای بیشترین مقدار عددی است - سمت چپ ترین بیت است. کم اهمیت ترین بیت - بیتی که دارای کمترین مقدار عددی است - سمت راست ترین بیت است.
بیایید ببینیم چگونه از نقشه ساختار کلید برای رمزگشایی یک کلید استفاده می کنید.
بیایید 0b1100100111100 را به عنوان یک کلید مثال دلخواه در نظر بگیریم، و فرض کنیم راهی برای دانستن این موضوع دارید که این کلید از نقشه ساختار کلید در تصویر قبلی پیروی می کند.
با توجه به نقشه ساختار کلید، این کلید به صورت زیر رمزگشایی می شود:
`11001 0 011 1100`
بنابراین کلید 0b1100100111100 تعداد خریدهای دسته محصول 25 را برای کمپین ID 12 راه اندازی شده در اروپا نشان می دهد.
رمزگذاری ابعاد با استفاده از تابع هش
به جای استفاده از نقشه ساختار کلید، می توانید از یک تابع هش برای تولید پویا کلیدها به روشی سازگار و قابل اعتماد استفاده کنید.
این کار به شرح زیر است:
- یک الگوریتم هش را انتخاب کنید.
- در زمان ارائه آگهی، رشتهای ایجاد کنید که شامل تمام ابعادی است که میخواهید ردیابی کنید و مقادیر آنها. برای تولید قطعه کلید سمت مبدا، این رشته را هش کنید و پسوند 64 بیتی صفر اضافه کنید تا آن را با قطعه کلید سمت ماشه تراز کنید و استدلال OR را آسانتر کنید.
- قطعه کلید سمت منبع
=<64-bit hex hash("COUNT, campaignID=12, geoID=7"))><64-bit 00000000…>
- توجه داشته باشید که
COUNT
در رویکرد نقشه ساختار کلیدی، همان چیزی کهmeasurementGoalType=0
را رمزگذاری میکند.COUNT
کمی لاغرتر و واضح تر است.
- قطعه کلید سمت منبع
- در زمان تبدیل، رشتهای ایجاد کنید که شامل تمام ابعادی است که میخواهید ردیابی کنید و مقادیر آنها. برای ایجاد یک قطعه کلید سمت ماشه، این رشته را هش کنید و یک پیشوند 64 بیتی صفر اضافه کنید:
- قطعه کلید سمت ماشه =
<64-bit 00000000…><64-bit hex hash("productCategory=25")>
- قطعه کلید سمت ماشه =
- مرورگر این قطعات کلیدی را OR می کند تا یک کلید تولید کند.
- کلید تجمع 128 بیتی
=<64-bit hex source-side key piece hash><64-bit hex source-side key piece hash>
- کلید تجمع 128 بیتی
- بعداً، هنگامی که آماده درخواست یک گزارش خلاصه برای این کلید هستید، آن را در لحظه تولید کنید:
- بر اساس ابعادی که به آنها علاقه دارید، مانند قبل، یک قطعه کلید سمت منبع و سمت ماشه ایجاد کنید.
- قطعه کلید سمت منبع
=<64-bit hex hash("COUNT, campaignID=12, geoID=7"))><64-bit 00000000…>
- قطعه کلید سمت ماشه
=<64-bit 00000000…><64-bit hex hash("productCategory=25")>
- قطعه کلید سمت ماشه =
toHex(hash("productCategory=25"))
- قطعه کلید سمت منبع
- درست مانند مرورگر، یا این قطعات کلیدی برای تولید همان کلیدی که مرورگر قبلاً تولید کرده است.
- کلید تجمع 128 بیتی
=<64-bit source-side key piece hash><64-bit source-side key piece hash>
- کلید تجمع 128 بیتی
- بر اساس ابعادی که به آنها علاقه دارید، مانند قبل، یک قطعه کلید سمت منبع و سمت ماشه ایجاد کنید.
اگر از این رویکرد مبتنی بر هش استفاده می کنید، چند نکته عملی:
- همیشه از ترتیب یکسانی در ابعاد استفاده کنید. این تضمین می کند که هش های شما می توانند به طور قابل اعتمادی بازسازی شوند. (
"COUNT, CampaignID=12, GeoID=7"
همان هش"COUNT, GeoID=7, CampaignID=12"
ایجاد نمی کند). یکی از راههای ساده برای دستیابی به این هدف، مرتب کردن ابعاد به صورت الفبایی است. این همان کاری است که ما در مثال انجام خواهیم داد، به جز این واقعیت که همیشهCOUNT
یاVALUE
اولین مورد در بعد میسازیم—این یک انتخاب برای خوانایی است، زیراCOUNT
یاVALUE
اطلاعاتی را رمزگذاری میکند که از نظر مفهومی کمی متفاوت با تمام ابعاد دیگر - مجموعه ابعادی را که در کلیدها استفاده می کنید پیگیری کنید. شما می خواهید از تولید کلید بر اساس مجموعه ای از ابعادی که هرگز استفاده نکرده اید اجتناب کنید.
- اگر از یک تابع هش مناسب استفاده شود، برخورد هش نادر است، اما بررسی درهمسازیهای قبلی (که باید برای تفسیر نتایج سرویس تجمیع ذخیره شوند) میتواند از معرفی کلیدهای جدید که با کلیدهای قدیمیتر برخورد میکنند جلوگیری کند.
نحوه استفاده از کلیدهای مبتنی بر هش را در عمل در یک تبدیل در هر کلیک یا مشاهده مثال مشاهده کنید.
مقادیر قابل جمع در عمل
هنگامی که کاربر تبدیل می کند، شرکت فناوری تبلیغات مقادیر قابل جمع آوری را تعیین می کند.
برای محافظت از حریم خصوصی کاربر، مشارکتهای هر کاربر دارای حد بالایی است. در تمام مقادیر قابل جمع مرتبط با یک منبع واحد (کلیک یا مشاهده آگهی)، هیچ مقداری نمیتواند بالاتر از حد مشارکت معین باشد.
ما به این محدودیت به عنوان CONTRIBUTION_BUDGET
اشاره خواهیم کرد. در توضیح دهنده ، این محدودیت بودجه L1 نامیده می شود، اما همان CONTRIBUTION_BUDGET
است.
برای بحث عمیق در مورد بودجه مشارکت، برای گزارش خلاصه به بودجه مشارکت مراجعه کنید.
مثال: یک تبدیل در هر کلیک یا مشاهده
برای این مثال، فرض کنید که به دنبال پاسخ دادن به سؤالات زیر هستید:
- کدام دسته از محصولات در هر منطقه با ارزش ترین هستند؟
- کدام استراتژی کمپین در هر منطقه مؤثرتر است؟
اجازه دهید همچنین فرض کنیم که برای مورد استفاده خود، به بینش هفتگی نیاز دارید.
شما همچنین باید موارد زیر را پیگیری کنید:
- 16 کمپین مختلف
- 8 منطقه جغرافیایی مختلف: آمریکای شمالی، آمریکای مرکزی، آمریکای جنوبی، اروپا، آفریقا، آسیا، کارائیب و اقیانوسیه.
- 29 دسته بندی مختلف محصول.
چه چیزی را اندازه گیری کنیم
در حالی که بسیاری از شرکتهای فناوری تبلیغات، تبلیغکنندگان را تشویق میکنند تا انواع مختلفی از تبدیلها را پیکربندی کنند، تمرکز بر مهمترین تبدیلها مانند خرید، راه خوبی برای اطمینان از دقیق و دقیق بودن نتایج کلی برای این رویدادهای تبدیل مهم است. در واقع، هرچه معیارهای بیشتری را اندازه گیری کنید، بودجه مشارکت شما در هر متریک کمتر است، و در نتیجه هر مقدار نویز بیشتری خواهد داشت. بنابراین، باید به دقت انتخاب کنید که چه چیزی را اندازه گیری کنید.
در این مثال، ما بر روی تنظیمات کمپین تمرکز خواهیم کرد که تنها یک تبدیل در هر کلیک یا مشاهده را اندازهگیری میکنند: یک خرید.
شما همچنان هم تعداد خرید و هم ارزش خرید را اندازه گیری می کنید و به انواع آمار کل مهم مانند ارزش کل خرید و تفکیک جغرافیایی دسترسی خواهید داشت. این امر نویز را معقول نگه می دارد و یک رویکرد مقیاس بندی ساده را برای بودجه مشارکت شما تضمین می کند.
در مورد ارزها چطور؟
اجرای کمپین ها در مناطق مختلف به این معنی است که ارزها باید در نظر گرفته شوند. شما می توانید:
- ارز را به یک بعد اختصاصی در کلیدهای تجمیع تبدیل کنید.
- یا ارز را از شناسه کمپین استنتاج کنید و همه ارزها را به ارزهای مرجع تبدیل کنید.
در این مثال، فرض میکنیم که میتوانید ارز را از شناسه کمپین استنباط کنید. این به شما امکان می دهد هر ارزش خرید داده شده را از واحد پول محلی کاربر به ارز مرجع انتخابی خود تبدیل کنید. شما همچنین می توانید آن تبدیل را در لحظه، زمانی که کاربر یک مورد را خریداری می کند، انجام دهید.
با استفاده از این تکنیک، همه ارزشهای انباشتهشده در یک ارز مرجع هستند، و بنابراین میتوان آنها را برای ایجاد یک ارزش خرید کل جمع کرد - یک ارزش خرید خلاصه.
اهداف را به کلید تبدیل کنید
با اهداف و معیارهای اندازه گیری خود، تعدادی گزینه برای استراتژی کلیدی خود دارید. بیایید روی دو مورد از این استراتژی ها تمرکز کنیم:
- استراتژی الف: یک ساختار کلیدی دانه ای.
- استراتژی B: دو ساختار کلیدی درشت.
استراتژی A: یک درخت عمیق (یک ساختار کلید دانه ای)
در استراتژی A، شما از یک ساختار کلید دانه ای استفاده می کنید که شامل تمام ابعاد مورد نیاز شما می شود:
تمام کلیدهای شما از این ساختار استفاده می کنند.
شما این ساختار کلید را به دو نوع کلیدی تقسیم می کنید تا از دو هدف اندازه گیری پشتیبانی کنید.
- نوع کلید 0: نوع هدف اندازه گیری = 0، که شما تصمیم دارید آن را به عنوان تعداد خرید تعریف کنید.
- نوع کلید 1: نوع هدف اندازه گیری = 1، که شما تصمیم دارید آن را به عنوان ارزش خرید تعریف کنید.
گزارش های خلاصه به شرح زیر است:
شما می توانید استراتژی A را به عنوان یک استراتژی "یک درخت عمیق" در نظر بگیرید:
- هر مقدار خلاصه در گزارشهای خلاصه به همه ابعادی که دنبال میکنید مرتبط است.
- میتوانید این مقادیر خلاصه را در کنار هر یک از این ابعاد جمع کنید، بنابراین این مجموعهها میتوانند به اندازه تعداد ابعادی که دارید عمیق شوند.
با استراتژی A، به سوالات خود به صورت زیر پاسخ می دهید:
سوال | پاسخ دهید |
---|---|
کدام دسته از محصولات در هر منطقه با ارزش ترین هستند؟ | مجموع تعداد و مقادیر خرید خلاصه در گزارشهای خلاصه، در همه کمپینها. این تعداد خرید و ارزش هر شناسه جغرافیایی × دسته محصول را به شما می دهد. برای هر منطقه، ارزش خرید و تعداد دستههای محصول مختلف را مقایسه کنید. |
کدام استراتژی کمپین در هر منطقه مؤثرتر است؟ | مجموع تعداد و مقادیر خرید خلاصه که در گزارشهای خلاصه وجود دارد، در همه دستههای محصول. این تعداد خرید و ارزش هر شناسه کمپین × شناسه جغرافیایی را به شما می دهد. برای هر منطقه، ارزش خرید را مقایسه کنید و برای کمپین های مختلف حساب کنید. |
با استراتژی A، می توانید مستقیماً به این سؤال سوم نیز پاسخ دهید:
"هر یک از کمپین های من در هر منطقه جغرافیایی برای هر محصول چقدر درآمد ایجاد کرد؟"
حتی اگر مقادیر خلاصه نویز داشته باشند، میتوانید تعیین کنید که چه زمانی تفاوتها در مقدار اندازهگیری شده بین هر کمپین تنها به دلیل نویز نیست. نحوه انجام این کار را در Understanding noise بیاموزید.
استراتژی B: دو درخت کم عمق (دو ساختار کلیدی درشت)
در استراتژی B، شما از دو ساختار کلیدی درشت استفاده می کنید که هر کدام شامل زیرمجموعه ای از ابعاد مورد نیاز شما است:
شما هر یک از این ساختارهای کلیدی را به دو نوع کلیدی تقسیم می کنید تا دو هدف اندازه گیری را پشتیبانی کنید.
- نوع هدف اندازه گیری = 0، که شما تصمیم دارید آن را به عنوان تعداد خرید تعریف کنید.
- نوع هدف اندازه گیری = 1، که شما تصمیم دارید آن را به عنوان ارزش خرید تعریف کنید.
در نهایت با چهار نوع کلیدی مواجه می شوید:
- نوع کلید I-0: ساختار کلید I، تعداد خرید.
- نوع کلید I-1: ساختار کلید I، ارزش خرید.
- نوع کلید II-0: ساختار کلید II، تعداد خرید.
- نوع کلید II-1: ساختار کلید II، ارزش خرید.
گزارش های خلاصه به شرح زیر است:
شما می توانید استراتژی B را به عنوان یک استراتژی "دو درخت کم عمق" در نظر بگیرید:
- مقادیر خلاصه در گزارش های خلاصه به یکی از دو مجموعه کوچک ابعاد نگاشت می شوند.
- میتوانید این مقادیر خلاصه را در کنار هر یک از ابعاد این مجموعهها جمع کنید - این بدان معناست که این مجموعهها به عمق گزینه A نیستند، زیرا ابعاد کمتری برای جمعآوری وجود دارد.
با استراتژی B، به سوالات خود به صورت زیر پاسخ می دهید:
سوال | پاسخ دهید |
---|---|
کدام دسته از محصولات در هر منطقه با ارزش ترین هستند؟ | مستقیماً به تعداد و مقادیر خرید خلاصه که در گزارشهای خلاصه هستند دسترسی داشته باشید. |
کدام استراتژی کمپین در هر منطقه مؤثرتر است؟ | مستقیماً به تعداد و مقادیر خرید خلاصه که در گزارشهای خلاصه هستند دسترسی داشته باشید. |
تصمیم: استراتژی الف
استراتژی A ساده تر است. همه داده ها از ساختار کلید یکسانی پیروی می کنند، که به این معنی است که شما فقط یک ساختار کلیدی برای نگهداری دارید.
با این حال، با استراتژی A، باید مقادیر خلاصه ای را که در گزارش های خلاصه دریافت می کنید جمع کنید تا به برخی از سوالات خود پاسخ دهید. هر یک از این مقادیر خلاصه نویز دارند. با جمعبندی آن دادهها، نویز را نیز جمعبندی میکنید.
این مورد در مورد استراتژی B صدق نمیکند، جایی که مقادیر خلاصهای که در گزارشهای خلاصه نمایش داده میشوند، اطلاعات مورد نیاز را به شما میدهند. این بدان معنی است که استراتژی B احتمالاً به تأثیر کمتری از نویز نسبت به استراتژی A منجر می شود.
چگونه باید تعیین کنید که از کدام استراتژی استفاده کنید؟ برای تبلیغکنندگان یا کمپینهای موجود، ممکن است برای تعیین اینکه آیا حجم تبدیلها برای استراتژی A یا استراتژی B مناسبتر است، به دادههای تاریخی تکیه کنید. با این حال، برای تبلیغکنندگان یا کمپینهای جدید، ممکن است تصمیم بگیرید:
- داده های یک ماهه را با کلیدهای دانه ای جمع آوری کنید (استراتژی A). از آنجایی که مدت زمان جمع آوری داده ها را افزایش می دهید، مقادیر خلاصه بیشتر و نویز نسبتاً کمتر خواهد بود.
- تعداد تبدیل هفتگی و ارزش خرید را با دقت معقول ارزیابی کنید.
در این مثال، بیایید فرض کنیم که تعداد خرید هفتگی و ارزش خرید آنقدر زیاد است که استراتژی A منجر به درصد نویزی شود که شما آن را برای مورد استفاده خود قابل قبول میدانید.
از آنجایی که استراتژی A سادهتر است و منجر به تأثیر نویز میشود که بر توانایی شما در تصمیمگیری تأثیر نمیگذارد، تصمیم میگیرید با استراتژی A بروید.
یک الگوریتم هش را انتخاب کنید
شما تصمیم می گیرید یک رویکرد مبتنی بر هش را برای تولید کلیدهای خود اتخاذ کنید. برای انجام این کار، باید یک الگوریتم هش را برای پشتیبانی از آن رویکرد انتخاب کنید.
بیایید فرض کنیم که شما SHA-256 را انتخاب کرده اید. همچنین میتوانید از الگوریتم سادهتر و کمایمنتر مانند MD5 استفاده کنید.
در مرورگر: کلیدها و مقادیر را تنظیم کنید
اکنون که در مورد ساختار کلید و الگوریتم هش تصمیم گرفته اید، آماده هستید که کلیدها و مقادیر را هنگامی که کاربران روی تبلیغات کلیک می کنند یا مشاهده می کنند و سپس تبدیل می کنند، ثبت کنید.
در ادامه مروری بر هدرهایی است که برای ثبت کلیدها و مقادیر در مرورگر تنظیم می کنید:
قطعات کلید سمت منبع را تنظیم کنید
هنگامی که کاربر روی یک تبلیغ کلیک یا مشاهده می کند، کلیدهای تجمیع را در سرصفحه Attribution-Reporting-Register-Aggregatable-Source
تنظیم کنید. در این مرحله، برای هر کلید، فقط میتوانید قسمتی از کلید یا قطعه کلیدی را که در زمان پخش آگهی مشخص است، تنظیم کنید.
بیایید قطعات کلیدی را تولید کنیم:
قطعه کلید سمت منبع برای شناسه کلید… | رشته ای حاوی مقادیر ابعادی است که می خواهید تنظیم کنید | هش این رشته به صورت هگز، به 64 بیت اول بریده شده (64/4 = 16 کاراکتر 1 ) | هگز هگز با صفرهای اضافه شده برای ساده کردن OR-ing. این قطعه کلید سمت منبع است. |
---|---|---|---|
key_purchaseCount | COUNT, CampaignID=12, GeoID=7 | 0x3cf867903fbb73ec | 0x3cf867903fbb73ec0000000000000000 |
key_purchaseValue | VALUE, CampaignID=12, GeoID=7 | 0x245265f432f16e73 | 0x245265f432f16e730000000000000000 |
بیایید اکنون قطعات کلیدی را تنظیم کنیم:
// Upon receiving the request from the publisher site
res.set(
"Attribution-Reporting-Register-Aggregatable-Source",
JSON.stringify([
{
"id": "key_purchaseCount",
"key_piece": "0x3cf867903fbb73ec0000000000000000"
},
{
"id": "key_purchaseValue",
"key_piece": "0x245265f432f16e730000000000000000"
}
])
);
توجه داشته باشید که شناسه های کلید در گزارش های نهایی ظاهر نمی شوند. آنها فقط هنگام تنظیم کلیدها در مرورگر استفاده می شوند، به طوری که قطعات کلید سمت منبع و سمت ماشه را می توان با یکدیگر نگاشت و در یک کلید کامل ترکیب کرد.
اختیاری: گزارشهای سطح رویداد
اگر نیاز به استفاده از گزارشهای سطح رویداد در کنار گزارشهای جمعآوری دارید، مطمئن شوید که برای یک منبع معین، دادههای سطح رویداد (شناسه رویداد منبع و دادههای راهانداز) و کلید تجمع میتوانند مطابقت داشته باشند.
برای مثال، اگر قصد دارید از گزارشهای سطح رویداد برای اجرای مدلهایی استفاده کنید که بر اساس آن انواع تبلیغات به بیشترین تعداد خرید منجر میشوند، ممکن است از هر دو گزارش استفاده کنید.
یک کاربر تبدیل می کند
هنگامی که کاربر تبدیل می کند، معمولاً یک درخواست پیکسل به سرور فناوری تبلیغات ارسال می شود. با دریافت این درخواست:
- قطعات کلید سمت تبدیل (سمت ماشه) را برای تکمیل کلید تنظیم کنید. این قطعات کلیدی را از طریق سرصفحه
Attribution-Reporting-Register-Aggregatable-Trigger-Data
تنظیم خواهید کرد. - مقدار قابل تجمیع را برای آن تبدیل از طریق سرصفحه
Attribution-Reporting-Register-Aggregatable-Values
تنظیم کنید.
قطعات کلید سمت ماشه را برای تکمیل کلید تنظیم کنید
بیایید قطعات کلیدی را تولید کنیم:
قطعه کلید سمت ماشه برای شناسه کلید… | رشته ای حاوی مقادیر ابعادی است که می خواهید تنظیم کنید | هش این رشته به صورت هگز، به 64 بیت اول بریده شده (64/4 = 16 کاراکتر 1 ) | هگز هگز با صفرهای اضافه شده برای ساده کردن OR-ing. این قطعه کلید سمت منبع است. |
---|---|---|---|
key_purchaseCount | ProductCategory=25 | 0x1c7ce88c4904bbe2 | 0x0000000000000000f9e491fe37e55a0c |
key_purchaseValue | (همان) | (همان) | (همان) |
بیایید اکنون قطعات کلیدی را تنظیم کنیم:
// Upon receiving the pixel request from the advertiser site
res.set(
"Attribution-Reporting-Register-Aggregatable-Trigger-Data",
JSON.stringify([
// Each dictionary independently adds pieces to multiple source keys
{
"key_piece": "0x0000000000000000f9e491fe37e55a0c",
"source_keys": ["key_purchaseCount", "key_purchaseValue"]
},
])
);
توجه داشته باشید که چگونه یک قطعه کلید یکسان را به چندین کلید اضافه می کنید، با فهرست کردن چندین شناسه کلید در source_keys
— قطعه کلید به هر دو کلید اضافه می شود.
مقادیر قابل جمع را تنظیم کنید
قبل از اینکه مقادیر قابل جمع آوری را تنظیم کنید، باید آنها را به منظور کاهش نویز افزایش دهید.
فرض کنید یک خرید برای نوع محصول 25 به قیمت 52 دلار انجام شده است.
شما این موارد را مستقیماً به عنوان مقادیر قابل جمع تنظیم نمی کنید:
key_purchaseCount
: 1 تبدیلkey_purchaseValue
: 52 دلار
در عوض، قبل از اینکه این مقادیر قابل جمع را ثبت کنید، باید آنها را مقیاس کنید تا نویز را به حداقل برسانید.
شما دو هدف دارید که باید بودجه مشارکت خود را صرف آن کنید، بنابراین ممکن است تصمیم بگیرید که بودجه مشارکت را به دو قسمت تقسیم کنید.
در این حالت، به هر هدف حداکثر CONTRIBUTION_BUDGET/2
(=65,536/2=32,768) اختصاص داده می شود.
بیایید حداکثر ارزش خرید برای یک کاربر را بر اساس سابقه خرید در همه کاربران سایت، 1500 دلار فرض کنیم. ممکن است مقادیر پرت وجود داشته باشد، برای مثال تعداد بسیار کمی از کاربرانی که بیش از این مبلغ را خرج کردهاند، اما ممکن است تصمیم بگیرید که این مقادیر پرت را نادیده بگیرید.
ضریب مقیاس شما برای ارزش خرید باید:
(( CONTRIBUTION_BUDGET
/2) / 1500) = 32768/1500 = 21.8 ≈ 22
ضریب مقیاس شما برای تعداد خرید 32768/1 = 32768 است، زیرا تصمیم گرفتید حداکثر یک خرید را برای هر کلیک یا مشاهده آگهی (رویداد منبع) پیگیری کنید.
اکنون می توانید این مقادیر را تنظیم کنید:
-
key_purchaseCount
: 1 × 32,768 = 32,768 -
key_purchaseValue
: 52 × 22 = 1,144
در عمل ، شما آنها را به شرح زیر تنظیم می کنید ، با استفاده از header Attribution-Reporting-Register-Aggregatable-Values
:
// Instruct the browser to schedule-send a report
res.set(
"Attribution-Reporting-Register-Aggregatable-Values",
JSON.stringify({
"key_purchaseCount": 32768,
"key_purchaseValue": 1144,
})
);
گزارش قابل تجمع تولید می شود
مرورگر با تبدیل به نمای قبلی مطابقت دارد یا کلیک می کند و گزارش قابل جمع را تولید می کند ، که شامل بار رمزگذاری شده در کنار گزارش ابرداده است.
در زیر نمونه ای از داده هایی است که می توان در بخش بارگذاری گزارش قابل جمع شدن یافت ، اگر در ClearText قابل خواندن باشد:
[
{
key: 0x3cf867903fbb73ecf9e491fe37e55a0c, // = source-side key piece OR conversion-side key piece for the key key_purchaseCount
value: 32768 // the scaled value for 1 conversion, in the context of [CONTRIBUTION_BUDGET/2]
},
{
key: 0x245265f432f16e73f9e491fe37e55a0c, // source-side key piece OR conversion-side key piece for the key key_purchaseValue
value: 1144 // the scaled value for $52, in the context of [CONTRIBUTION_BUDGET/2]
},
]
در اینجا ، می توانید دو سهم جداگانه را در یک گزارش قابل جمع کردن مشاهده کنید.
گزارش خلاصه ای را درخواست کنید
- گزارش های جمع شده دسته ای. توصیه های ارائه شده در Batching را دنبال کنید.
- کلیدهایی را که می خواهید داده ها را برای آنها مشاهده کنید ، تولید کنید. به عنوان مثال ، برای دیدن داده های خلاصه برای
COUNT
(تعداد کل خریدها) وVALUE
(کل ارزش خرید) برای شناسه کمپین 12 × جغرافیا شناسه 7 × محصول 25:- همانطور که هنگام تنظیم آن در مرورگر انجام دادید ، قطعه کلید سمت منبع را ایجاد کنید.
- همانطور که هنگام تنظیم آن در مرورگر انجام دادید ، قطعه کلید سمت ماشه را تولید کنید.
متریک شما می خواهید 1 درخواست کنید | قطعه کلید سمت منبع | قطعه کلید سمت ماشه | کلید درخواست به خدمات جمع آوری 2 |
---|---|---|---|
تعداد خرید کل ( COUNT ) | 0x3CF867903FBB73ec 0000000000000000 | 0x00000000000000 00F9E491FE37E55A0C | 0x3CF867903FBB73 ECF9E491FE37E55A0C |
ارزش خرید کل ( VALUE ) | 0x245265f432f16e73 0000000000000000 | 0x0000000000000000 f9e491fe37e55a0c | 0x245265f432f16e73 f9e491fe37e55a0c |
- برای این کلیدها داده های خلاصه را به سرویس جمع آوری درخواست کنید.
گزارش خلاصه را اداره کنید
در نهایت ، شما یک گزارش خلاصه دریافت می کنید که ممکن است به این شکل باشد:
[
{"bucket": "00111100111110000110011110010000001111111011101101110011111011001111100111100100100100011111111000110111111001010101101000001100",
"value": "2558500"},
{"bucket": "00100100010100100110010111110100001100101111000101101110011100111111100111100100100100011111111000110111111001010101101000001100",
"value": "687060"},
…
]
اولین سطل کلید COUNT
در باینری است. سطل دوم کلید VALUE
باینری است. توجه داشته باشید که در حالی که کلیدها ناهمگن هستند ( COUNT
در مقابل VALUE
) ، آنها در همان گزارش موجود هستند.
مقادیر را پایین بیاورید
- 2،558،500 به تعداد خریدهای این کلید اشاره دارد که توسط ضریب مقیاس گذاری قبلاً محاسبه شده شما مقیاس شده است. عامل مقیاس گذاری برای تعداد خرید 32،768 بود. 2،558،500 را بر اساس بودجه سهم هدف تقسیم کنید: 2،558،500/32،768 = 156.15 خرید.
- 687،060 → 687،060/22 = 31،230 دلار ارزش خرید.
در نتیجه ، گزارش های خلاصه بینش های زیر را به شما می دهد:
- Within the reporting time period, campaign #12
run in Europe drove about 156 purchases (± noise)
for the product category #25
```
```text
- Within the reporting time period, campaign #12
run in Europe drove $31,230 of purchases (± noise)
for the product category #25.