درک کلیدهای تجمیع برای گزارش انتساب، درک کلیدهای تجمع برای گزارش انتساب

کلیدهای تجمیع چیست، چگونه در API گزارش Attribution استفاده می‌شوند و چگونه می‌توانید اهداف را به کلید تبدیل کنید.

به عنوان یک شرکت فناوری تبلیغاتی که کمپین‌هایی را در مکان‌های مختلف برای دسته‌های مختلف محصولات اجرا می‌کند، می‌خواهید به تبلیغ‌کنندگان کمک کنید تا به سؤالات زیر پاسخ دهند:

  1. هر کمپین من در هر منطقه جغرافیایی چند خرید از هر دسته محصول انجام داد؟
  2. هر یک از کمپین های من در هر منطقه جغرافیایی چقدر درآمد برای هر دسته محصول ایجاد کرد؟

در حالی که بسیاری از شرکت‌های فناوری تبلیغات، تبلیغ‌کنندگان را تشویق می‌کنند تا انواع مختلفی از تبدیل‌ها را پیکربندی کنند، تمرکز بر مهم‌ترین تبدیل‌ها مانند خرید، راه خوبی برای اطمینان از دقیق و جزئی بودن نتایج خلاصه برای این رویدادهای مهم است.

برای انجام این کار، باید قبل از جمع آوری داده ها به سؤالاتی که می خواهید پاسخ دهید فکر کنید.

ابعاد، کلیدها و مقادیر

برای پاسخ به این سوالات، اجازه دهید نگاهی به ابعاد، کلیدها و مقادیر بیاندازیم.

ابعاد

همانطور که در اینجا توضیح داده شده است، برای درک نحوه درآمدزایی کمپین های شما، باید ابعاد زیر را ردیابی کنید:

  • شناسه کمپین تبلیغاتی: شناسه کمپین خاص.
  • شناسه جغرافیایی: منطقه جغرافیایی که آگهی در آن ارائه شده است.
  • دسته بندی محصول: نوع محصول همانطور که شما آن را تعریف کرده اید.

در حالی که شناسه کمپین و ابعاد شناسه جغرافیا زمانی که تبلیغ ارائه می‌شود (زمان ارائه آگهی) مشخص می‌شود، دسته محصول از یک رویداد راه‌اندازی، زمانی که کاربر تبدیل را کامل می‌کند (زمان تبدیل) شناخته می‌شود.

ابعادی که می خواهید برای این مثال ردیابی کنید مانند تصویر زیر است:

شناسه کمپین، شناسه جغرافیایی و دسته محصول.
ابعاد برای ردیابی

کلیدهای تجمیع (سطل) چیست؟

واژه‌های کلید جمع‌آوری و سطل به یک چیز اشاره دارند. کلید تجمع در 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 بیت برای رمزگذاری این بعد استفاده کنید.

رمزگذاری کلید

وقتی کلیدها را در مرورگر تنظیم می کنید، باید به صورت هگزادسیمال کدگذاری شوند. در گزارش های خلاصه، کلیدها به صورت باینری ظاهر می شوند (و سطل نامیده می شوند).

دو قطعه کلید را برای یک کلید کامل تنظیم کنید

بیایید فرض کنیم از یک کلید برای ردیابی ابعاد زیر استفاده می کنید:

  • شناسه کمپین
  • شناسه جغرافیا
  • رده محصولات

در حالی که شناسه کمپین و ابعاد شناسه جغرافیا زمانی که تبلیغ ارائه می‌شود (زمان ارائه آگهی) مشخص است، دسته محصول از یک رویداد راه‌اندازی مشخص می‌شود، زمانی که کاربر یک تبدیل (زمان تبدیل) را تکمیل می‌کند.

در عمل، این بدان معنی است که شما یک کلید را در دو مرحله تنظیم خواهید کرد:

  1. در زمان کلیک یا مشاهده، یک قسمت از کلید - شناسه کمپین × شناسه جغرافیایی را تنظیم خواهید کرد.
  2. قسمت دوم کلید —دسته محصول— را در زمان تبدیل تنظیم خواهید کرد.

به این قسمت های مختلف کلیدها، قطعات کلیدی می گویند.

یک کلید با گرفتن XOR ( ^ ) از قطعات کلیدی آن محاسبه می شود.

قطعات کلیدی XOR-ing.

مثال:

  • قطعه کلید سمت منبع = 0x159
  • قطعه کلید سمت ماشه = 0x400
  • کلید = 0x159 ^ 0x400 = 0x559

تراز کردن قطعات کلیدی

با دو قطعه کلید 64 بیتی که به 128 بیت با استفاده از پرکننده ها/تغییرهای 64 بیتی با دقت قرار داده شده اند (شانزده صفر)، قطعات کلید XOR-ing معادل به هم پیوستن آنها است، که استدلال و تأیید آسان تر است:

  • قطعه کلید سمت منبع = 0xa7e297e7c8c8d0540000000000000000
  • قطعه کلید سمت ماشه = 0x0000000000000000674fbe308a597271
  • کلید = 0xa7e297e7c8c8d0540000000000000000 ^ 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 راه اندازی شده در اروپا نشان می دهد.

رمزگذاری ابعاد با استفاده از تابع هش

به جای استفاده از نقشه ساختار کلید، می توانید از یک تابع هش برای تولید پویا کلیدها به روشی سازگار و قابل اعتماد استفاده کنید.

این کار به شرح زیر است:

  1. یک الگوریتم هش را انتخاب کنید.
  2. در زمان ارائه آگهی، رشته‌ای ایجاد کنید که شامل تمام ابعادی است که می‌خواهید ردیابی کنید و مقادیر آنها. برای تولید قطعه کلید سمت منبع، این رشته را هش کنید و پسوند 64 بیتی صفر اضافه کنید تا آن را با قطعه کلید سمت ماشه تراز کنید و استدلال XOR را آسان‌تر کنید.
    • قطعه کلید سمت منبع
      = <64-bit hex hash("COUNT, campaignID=12, geoID=7"))><64-bit 00000000…>
    • توجه داشته باشید که COUNT در رویکرد نقشه ساختار کلیدی، همان چیزی که measurementGoalType=0 رمزگذاری می‌کند. COUNT کمی لاغرتر و واضح تر است.
  3. در زمان تبدیل، رشته‌ای ایجاد کنید که شامل تمام ابعادی است که می‌خواهید ردیابی کنید و مقادیر آنها. برای ایجاد یک قطعه کلید سمت ماشه، این رشته را هش کنید و یک پیشوند 64 بیتی صفر اضافه کنید:
    • قطعه کلید سمت ماشه = <64-bit 00000000…><64-bit hex hash("productCategory=25")>
  4. مرورگر این قطعات کلیدی را XOR می کند تا یک کلید تولید کند.
    • کلید تجمع 128 بیتی
      = <64-bit hex source-side key piece hash><64-bit hex source-side key piece hash>
  5. بعداً، هنگامی که آماده درخواست یک گزارش خلاصه برای این کلید هستید، آن را در لحظه تولید کنید:
    • بر اساس ابعادی که به آنها علاقه دارید، مانند قبل، یک قطعه کلید سمت منبع و سمت ماشه ایجاد کنید.
      • قطعه کلید سمت منبع
        = <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"))
    • درست مانند مرورگر، XOR این قطعات کلیدی برای تولید همان کلیدی است که مرورگر قبلاً تولید کرده است.
      • کلید تجمع 128 بیتی
        = <64-bit source-side key piece hash><64-bit source-side key piece hash>

اگر از این رویکرد مبتنی بر هش استفاده می کنید، چند نکته عملی:

  • همیشه از ترتیب یکسانی در ابعاد استفاده کنید. این تضمین می کند که هش های شما می توانند به طور قابل اعتمادی بازسازی شوند. ( "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، شما از دو ساختار کلیدی درشت استفاده می کنید که هر کدام شامل زیرمجموعه ای از ابعاد مورد نیاز شما است:

ساختار کلید 1 و ساختار کلید 2.

شما هر یک از این ساختارهای کلیدی را به دو نوع کلیدی تقسیم می کنید تا دو هدف اندازه گیری را پشتیبانی کنید.

  • نوع هدف اندازه گیری = 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 ) هگز هگز با صفرهای اضافه شده برای ساده کردن XOR-ing. این قطعه کلید سمت منبع است.
key_purchaseCount COUNT, CampaignID=12, GeoID=7 0x3cf867903fbb73ec 0x3cf867903fbb73ec0000000000000000
key_purchaseValue VALUE, CampaignID=12, GeoID=7 0x245265f432f16e73 0x245265f432f16e730000000000000000
1 هر رقم هگزادسیمال نشان دهنده چهار بیت (رقم باینری) است.

بیایید اکنون قطعات کلیدی را تنظیم کنیم:

// 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 ) هگز هگز با صفرهای اضافه شده برای ساده کردن XOR-ing. این قطعه کلید سمت منبع است.
key_purchaseCount ProductCategory=25 0x1c7ce88c4904bbe2 0x0000000000000000f9e491fe37e55a0c
key_purchaseValue (یکسان) (یکسان) (یکسان)
1 هر رقم هگزادسیمال نشان دهنده چهار بیت (رقم باینری) است.

بیایید اکنون قطعات کلیدی را تنظیم کنیم:

// 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) /1،500) = 32،768 /1،500 = 21.8 ≈ 22

ضریب مقیاس گذاری شما برای تعداد خرید 32،768/1 = 32،768 است ، زیرا تصمیم گرفتید حداکثر یک خرید را در هر تبلیغ کلیک کنید یا با کلیک یا مشاهده (رویداد منبع) پیگیری کنید.

اکنون می توانید این مقادیر را تنظیم کنید:

  • key_purchaseCount : 1 × 32،768 = 32،768
  • key_purchaseValue : 22 × 52 = 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 XOR 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 XOR 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
1 متریک شما به دنبال درخواست هستید (برای شناسه کمپین 12 × جغرافیا شناسه 7 × محصول 25). 2 کلید درخواست به سرویس جمع آوری = قطعه کلید سمت منبع XOR قطعه کلید سمت ماشه.
  • برای این کلیدها داده های خلاصه را به سرویس جمع آوری درخواست کنید.

گزارش خلاصه را اداره کنید

در نهایت ، شما یک گزارش خلاصه دریافت می کنید که ممکن است به این شکل باشد:

[
  {"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 دلار ارزش خرید.

در نتیجه ، گزارش های خلاصه بینش های زیر را به شما می دهد:

  • در دوره زمانی گزارش ، کمپین شماره 12 در اروپا حدود 156 خرید (± نویز) را برای دسته محصول شماره 25 انجام داد.
  • در دوره زمانی گزارش ، کمپین شماره 12 در اروپا 31،230 دلار از خریدها (± نویز) را برای دسته محصول شماره 25 برد.
،

چه کلیدهای تجمیعی وجود دارد ، چگونه آنها در API گزارش انتساب استفاده می کنند و چگونه می توانید اهداف را به کلیدها ترجمه کنید.

به عنوان یک شرکت فناوری تبلیغاتی که در چندین مکان برای دسته بندی محصولات مختلف کمپین هایی را اجرا می کند ، می خواهید به تبلیغ کنندگان کمک کنید تا به سؤالات زیر پاسخ دهند:

  1. هر یک از کمپین های من در هر منطقه جغرافیایی چند خرید از هر دسته از محصولات تولید کرده است؟
  2. هر یک از کمپین های من در هر منطقه جغرافیایی چه مقدار درآمد برای هر گروه محصول ایجاد کرده است؟

در حالی که بسیاری از شرکت های فناوری تبلیغی تبلیغ کنندگان را ترغیب می کنند انواع مختلفی از تبدیل را پیکربندی کنند ، تمرکز روی مهمترین تبدیل ها مانند خرید ، روش خوبی برای اطمینان از دقیق و دقیق نتایج برای این رویدادهای مهم است.

برای انجام این کار ، باید قبل از جمع آوری داده ها به چه سؤالاتی که می خواهید پاسخ دهید فکر کنید.

ابعاد ، کلیدها و مقادیر

برای پاسخ به این سؤالات ، بیایید نگاهی به ابعاد ، کلیدها و ارزشها بیندازیم.

ابعاد

برای درک چگونگی تولید کمپین های شما ، همانطور که در اینجا توضیح داده شده است ، می خواهید ابعاد زیر را پیگیری کنید:

  • شناسه تبلیغات تبلیغاتی: شناسه برای کمپین خاص.
  • شناسه جغرافیایی: منطقه جغرافیایی که در آن تبلیغات ارائه شده است.
  • دسته محصول: نوع محصول همانطور که آن را تعریف کرده اید.

در حالی که شناسه کمپین و ابعاد شناسه جغرافیا هنگام ارائه تبلیغات (زمان تبلیغ) شناخته شده است ، دسته بندی محصولات از یک رویداد ماشه شناخته می شوند ، هنگامی که کاربر یک تبدیل (زمان تبدیل) را تکمیل می کند.

ابعادی که می خواهید برای این مثال دنبال کنید همانطور که در تصویر زیر نشان داده شده است:

شناسه کمپین ، شناسه جغرافیا و دسته بندی محصولات.
ابعاد برای ردیابی

کلیدهای تجمیع (سطل) چیست؟

کلید و سطل جمع آوری اصطلاحات به همان چیز اشاره دارد. کلید تجمع در API های مرورگر استفاده شده برای پیکربندی گزارش ها استفاده می شود. اصطلاح سطل در گزارش های قابل جمع و خلاصه و در API های خدمات جمع آوری استفاده می شود.

یک کلید تجمع (کلید کوتاه) بخشی از داده ها است که نشان دهنده مقادیر ابعاد ردیابی شده است. داده ها بعداً در امتداد هر کلید تجمع جمع می شوند.

به عنوان مثال ، فرض کنیم شما در حال ردیابی دسته محصولات Dimensions ، شناسه جغرافیا و شناسه کمپین هستید.

هنگامی که یک کاربر واقع در جغرافیای شناسه 7 تبلیغی را برای شناسه کمپین 12 مشاهده می کند و بعداً با خرید یک محصول در محصول 25 محصول تبدیل می شود ، ممکن است یک کلید تجمع را تنظیم کنید که مانند تصویر زیر باشد:

کلید تجمع برای تبدیل.

بعداً خواهید دید که یک کلید جمع آوری دقیقاً مانند این در عمل نیست ، اما در حال حاضر بیایید روی اطلاعات موجود در کلید تمرکز کنیم.

مقادیر قابل تجمع چیست؟

برای پاسخ به سوالات خود برای ابعادی که ما بیان کردیم ، می خواهید بدانید:

  • تعداد خریدها (تعداد خرید). پس از جمع آوری و در یک گزارش خلاصه ، این تعداد کل خرید (ارزش خلاصه) خواهد بود.
  • درآمد هر خرید (ارزش خرید). پس از جمع آوری و در یک گزارش خلاصه ، این کل درآمد (ارزش خلاصه) خواهد بود.

هر یک از این موارد - تعداد خرید برای یک تبدیل و مقدار خرید برای یک تبدیل - یک ارزش قابل جمع است. شما می توانید از مقادیر قابل جمع به عنوان مقادیر اهداف اندازه گیری خود فکر کنید.

سوال مقدار قابل جمع = هدف اندازه گیری
چند خرید ... شمارش خرید
چقدر درآمد ارزش خرید

هنگامی که یک کاربر واقع در جغرافیا شناسه 7 تبلیغی را برای شناسه کمپین 12 مشاهده می کند ، و بعداً با خرید محصولی از محصول 25 با قیمت 120 دلار (با فرض اینکه ارز شما USD است) تبدیل می شود ، ممکن است یک کلید جمع آوری و مقادیر قابل جمع بندی را تنظیم کنید که شبیه این موارد است. :

کلیدها و مقادیر تجمیع.
کلیدهای جمع آوری و مقادیر قابل جمع شدن. توجه داشته باشید ، مقادیر قابل جمع در پس زمینه آبی جسورانه است.

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

تولید بینش های جمع شده.

مقادیر قابل تجمع برای تولید بینش های جمع شده برای اهداف اندازه گیری شما خلاصه شده است.

توجه داشته باشید که این نمودار رمزگشایی را از بین می برد و یک نمونه ساده بدون سر و صدا را نشان می دهد. در بخش بعدی این مثال را با سر و صدا بیان خواهیم کرد.

از کلیدها و ارزشها تا گزارش ها

حال بیایید بحث کنیم که چگونه کلیدها و ارزشهای قابل قبول با گزارش ها ارتباط دارند.

گزارش های قابل جمع شدن

هنگامی که کاربر یک تبلیغ را کلیک یا مشاهده می کند و بعداً تبدیل می کند ، به مرورگر دستور می دهید که یک کلید {جمع آوری ، مقدار قابل جمع کردن} را ذخیره کند.

در مثال ما ، هنگامی که کاربر یک تبلیغ را کلیک یا مشاهده می کند و بعداً تبدیل می کند ، شما به مرورگر دستور می دهید که دو سهم (یکی در هر هدف اندازه گیری) ایجاد کند.

ایجاد دو کمک.

بعداً خواهید دید که یک کلید {جمع آوری ، ارزش قابل جمع کردن} گزارش قابل جمع شدن دقیقاً شبیه این نیست - اما اکنون بیایید روی اطلاعات موجود در گزارش تمرکز کنیم.

هنگامی که به مرورگر دستور می دهید دو مشارکت ایجاد کند ، مرورگر گزارش قابل توجهی را تولید می کند (اگر می تواند تبدیل را با یک نمای قبلی مطابقت دهد یا کلیک کند).

یک گزارش قابل جمع شامل موارد زیر است:

گزارش قابل جمع شدن

گزارش های قابل جمع شدن از JSON تشکیل شده است و از جمله موارد دیگر ، یک قسمت بارگذاری است که به عنوان ورودی داده برای گزارش خلاصه نهایی استفاده می شود.

بار بار حاوی لیستی از مشارکتها است که هر یک از آنها یک کلید {جمع آوری ، مقدار قابل جمع شدن} جفت است:

  • 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 باشد). سطل و ارزش هر دو محور هستند.

کلیدهای تجمیع در عمل

کلیدهای تجمیع (سطل) توسط یک شرکت AD Tech ، به طور معمول در دو مرحله تعریف می شوند: هنگامی که یک تبلیغ کلیک یا مشاهده می شود ، و هنگامی که کاربر تبدیل می شود.

ساختار کلیدی

ما از اصطلاح ساختار کلید برای تعیین مجموعه ابعاد رمزگذاری شده در یک کلید استفاده خواهیم کرد.

به عنوان مثال ، دسته بندی محصولات ID × GEOID × یک ساختار کلیدی است.

ساختار کلیدی.

انواع کلیدی

مقادیر قابل جمع برای یک کلید معین در چندین کاربر/مرورگرها خلاصه می شود. اما ما دیده ایم که مقادیر قابل جمع می توانند اهداف مختلف اندازه گیری مانند ارزش خرید یا تعداد خرید را ردیابی کنند. شما می خواهید اطمینان حاصل کنید که سرویس جمع آوری مقادیر قابل جمع از همان نوع را جمع می کند.

برای انجام این کار ، در هر کلید ، یک قطعه از داده ها را رمزگذاری کنید که به شما می گوید مقدار خلاصه چه چیزی را نشان می دهد - هدف اندازه گیری این کلید به آن اشاره دارد. یکی از راه های انجام این کار ایجاد یک بعد اضافی برای کلید شما است که نشان دهنده نوع هدف اندازه گیری است.

با استفاده از مثال قبلی ما ، این نوع هدف اندازه گیری دارای دو مقدار ممکن متفاوت است:

  • تعداد خرید اولین نوع هدف اندازه گیری است.
  • مقدار خرید نوع دوم هدف اندازه گیری است.
اهداف اندازه گیری و انواع هدف اندازه گیری.

اگر اهداف اندازه گیری N داشته باشید ، نوع هدف اندازه گیری دارای انواع مختلفی از مقادیر است.

شما می توانید به ابعاد یک کلید به عنوان یک متریک فکر کنید. به عنوان مثال ، "تعداد خریدهای یک محصول خاص در هر کمپین در هر جغرافیا".

اندازه کلیدی ، اندازه ابعاد

حداکثر اندازه کلید در بیت ها تعریف شده است - تعداد صفرها و موارد موجود در باینری برای ایجاد کلید کامل. API اجازه می دهد طول کلید 128 بیت باشد.

این اندازه کلیدهای بسیار دانه ای را امکان پذیر می کند ، اما کلیدهای دانه ای بیشتر به احتمال زیاد منجر به مقادیر پر سر و صدا می شوند. می توانید اطلاعات بیشتر در مورد نویز را در Dealue Noise بخوانید.

همانطور که قبلاً معرفی شد ، ابعاد در کلید تجمع رمزگذاری می شوند. هر بعد دارای یک کاردینال خاص است - یعنی تعداد مقادیر مشخصی که بعد می تواند داشته باشد. بسته به کاردینال بودن آن ، هر بعد باید توسط تعداد مشخصی از بیت ها نشان داده شود. با استفاده از N بیت ، می توان 2 گزینه متمایز را بیان کرد.

به عنوان مثال ، یک بعد کشور ممکن است دارای کاردینال 200 باشد ، زیرا حدود 200 کشور جهان وجود دارد. برای رمزگذاری این بعد چند بیت لازم است؟

7 بیت فقط 2 7 = 128 گزینه مجزا را ذخیره می کند ، که کمتر از 200 لازم است.

8 بیت 2 8 = 256 گزینه های متمایز را که بیش از 200 ضروری است ذخیره می کند ، بنابراین می توانید از N = 8 بیت برای رمزگذاری این بعد استفاده کنید.

رمزگذاری کلیدی

وقتی کلیدها را در مرورگر قرار می دهید ، آنها باید در شش ضلعی رمزگذاری شوند. در گزارش های خلاصه ، کلیدها به صورت باینری ظاهر می شوند (و سطل نامگذاری می شوند).

دو قطعه کلید را برای یک کلید کامل تنظیم کنید

بیایید فرض کنیم از یک کلید برای ردیابی ابعاد زیر استفاده می کنید:

  • شناسه کمپین
  • شناسه جغرافیایی
  • رده محصولات

در حالی که شناسه کمپین و ابعاد شناسه جغرافیا هنگام ارائه تبلیغات (زمان تبلیغ) شناخته شده است ، دسته بندی محصولات از یک رویداد ماشه شناخته می شوند ، هنگامی که کاربر یک تبدیل (زمان تبدیل) را تکمیل می کند.

در عمل ، این بدان معنی است که شما یک کلید را در دو مرحله تنظیم خواهید کرد:

  1. شما یک قسمت از کلید - Campaign ID × Geography ID - را با کلیک یا مشاهده زمان تنظیم خواهید کرد.
  2. قسمت دوم کلید - دسته محصول را در زمان تبدیل تنظیم می کنید.

این قسمت های مختلف کلیدها به قطعات کلیدی گفته می شود.

یک کلید با گرفتن XOR ( ^ ) قطعات اصلی آن محاسبه می شود.

قطعات کلیدی Xor.

مثال:

  • قطعه کلید سمت منبع = 0x159
  • قطعه کلید سمت ماشه = 0x400
  • کلید = 0x159 ^ 0x400 = 0x559

تراز کردن قطعات کلیدی

با دو قطعه کلیدی 64 بیتی به 128 بیت با استفاده از پرکننده/جبران 64 بیت با دقت قرار داده شده (شانزده صفر) ، قطعات کلیدی Xor-ing معادل جمع کردن آنها است ، که استدلال و تأیید آن ساده تر است:

  • قطعه کلید سمت منبع = 0xa7e297e7c8c8d0540000000000000000
  • قطعه کلید سمت ماشه = 0x0000000000000000674fbe308a597271
  • Key = 0xa7e297e7c8c8d0540000000000000000 ^ 0x0000000000000000674fbe308a597271 = 0xa7e297e7c8c8d054674fbe308a597271

چندین کلید در هر تبلیغ کلیک یا مشاهده کنید

در عمل ، شما ممکن است چندین کلید در هر رویداد منبع انتساب (کلیک یا مشاهده) تنظیم کنید. به عنوان مثال ، شما ممکن است تنظیم کنید:

  • کلیدی که شناسه کمپین جغرافیا را ردیابی می کند.
  • کلید دیگری که شناسه کمپین Creative Type × را ردیابی می کند.

برای مثال دیگر به استراتژی B نگاهی بیندازید.

رمزگذاری ابعاد در کلیدها

هنگام درخواست گزارش های خلاصه ، باید با درخواست گزارش های خلاصه برای مجموعه خاصی از کلیدهای جمع آوری ، به خدمات جمع آوری به چه معیارهایی که می خواهید دسترسی پیدا کنید ، بگویید.

گزارش های خلاصه حاوی KEY RAW ، مقدار خلاصه} جفت و اطلاعات اضافی در مورد کلید نیست. این بدان معنی است که:

  • هنگام تنظیم کلیدها به عنوان کاربر مشاهده می شود یا یک تبلیغ را کلیک می کند و بعداً تبدیل می شود ، باید کلیدهای قابل اعتماد را بر اساس مقادیر ابعادی که نشان می دهند تنظیم کنید.
  • هنگام تعریف کلیدهایی که می خواهید گزارش های خلاصه ای را برای آن درخواست کنید ، باید با اطمینان از همان کلیدهای تنظیم شده توسط کلیدها در هنگام مشاهده یا کلیک بر روی یک تبلیغ و تبدیل ، بر اساس مقادیر ابعادی که می خواهید ، به صورت قابل اطمینان تولید یا دسترسی داشته باشید. داده های جمع شده را برای.

ابعاد رمزگذاری با استفاده از نقشه های ساختار کلیدی

برای رمزگذاری ابعاد در کلیدها ، می توانید با تعریف کلیدهای خود (قبل از زمان تبلیغ) ، نقشه ساختار کلیدی را قبل از زمان ایجاد و حفظ کنید.

یک نقشه ساختار کلیدی نشان دهنده هر یک از ابعاد شما و موقعیت آنها در کلید است.

در عمل ، ایجاد و حفظ نقشه های ساختار کلیدی به این معنی است که شما باید منطق رمزگشایی را پیاده سازی و حفظ کنید. اگر به دنبال روشی هستید که شما را به انجام این کار نیاز ندارد ، به جای آن از یک رویکرد مبتنی بر هش استفاده کنید.

در اینجا یک مثال است:

بیایید فرض کنیم که شما قصد دارید هر دو خرید و مقادیر خرید را برای کمپین های خاص ، مناطق جغرافیایی و محصولات خریداری کنید.

دسته بندی محصولات ، شناسه جغرافیا و شناسه کمپین باید ابعادی در کلیدهای شما باشد. علاوه بر این ، زیرا می خواهید دو هدف مختلف اندازه گیری - تعداد خرید و ارزش خرید را دنبال کنید - باید یک بعد را در کلید خود اضافه کنید که نوع کلید را پیگیری می کند. این به شما امکان می دهد تا در گزارش های خلاصه ، چه مقدار قابل جمع را در واقع با دریافت {کلید و مقدار قابل جمع کردن نشان می دهد.

با این اهداف اندازه گیری ، کلید شما ابعاد زیر را دارد:

  • رده محصولات
  • نوع هدف اندازه گیری
  • شناسه جغرافیایی
  • شناسه کمپین

حال ، با نگاهی به هر بعد ، بیایید مورد استفاده خود را که باید موارد زیر را ردیابی کنید فرض کنیم:

  • 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 محصول را برای شناسه کمپین 12 که در اروپا راه اندازی شده است ، نشان می دهد.

ابعاد رمزگذاری با استفاده از یک عملکرد هش

به جای استفاده از نقشه ساختار کلیدی ، می توانید از یک تابع هشدار دهنده برای تولید پویا کلیدها به روشی سازگار و قابل اعتماد استفاده کنید.

این کار به شرح زیر است:

  1. یک الگوریتم هشینگ را انتخاب کنید.
  2. در زمان تبلیغ ، رشته ای ایجاد کنید که شامل تمام ابعادی که می خواهید ردیابی کنید و مقادیر آنها را شامل می شود. برای تولید قطعه کلید سمت منبع ، این رشته را هش داده و اضافه کردن پسوند 64 بیتی صفر برای تراز کردن آن با قطعه کلید سمت ماشه و آسان تر کردن XOR در مورد آن.
    • قطعه کلید سمت منبع
      = <64-bit hex hash("COUNT, campaignID=12, geoID=7"))><64-bit 00000000…>
    • توجه داشته باشید که COUNT همان چیزی را با measurementGoalType=0 در رویکرد نقشه ساختار کلیدی رمزگذاری می کند. COUNT کمی لاغر و صریح تر است.
  3. در زمان تبدیل ، رشته ای ایجاد کنید که شامل تمام ابعادی که می خواهید ردیابی کنید و مقادیر آنها را شامل می شود. برای تولید یک قطعه کلید سمت ماشه ، این رشته را هش داده و پیشوند 64 بیتی صفر اضافه کنید:
    • قطعه کلید سمت ماشه = <64-bit 00000000…><64-bit hex hash("productCategory=25")>
  4. مرورگر این قطعات کلیدی را برای تولید یک کلید Xors می کند.
    • کلید تجمع 128 بیتی
      = <64-bit hex source-side key piece hash><64-bit hex source-side key piece hash>
  5. بعداً ، هنگامی که شما آماده درخواست گزارش خلاصه ای برای این کلید هستید ، آن را در پرواز تولید کنید:
    • بر اساس ابعادی که به آنها علاقه مند هستید ، همانطور که قبلاً انجام دادید ، یک قطعه کلید را ایجاد کرده و قسمت اصلی را ایجاد کنید.
      • قطعه کلید سمت منبع
        = <64-bit hex hash("COUNT, campaignID=12, geoID=7"))><64-bit 00000000…>
      • قطعه کلید سمت ماشه
        = <64-bit 00000000…><64-bit hex hash("productCategory=25")>
      • قطعه کلید سمت Trigger = toHex(hash("productCategory=25"))
    • درست مانند مرورگر ، این قطعات کلیدی را XOR برای تولید همان کلید مرورگر که قبلاً تولید کرده است ، تولید کنید.
      • کلید تجمع 128 بیتی
        = <64-bit source-side key piece hash><64-bit source-side key piece hash>

چند نکته عملی اگر از این رویکرد مبتنی بر هش استفاده می کنید:

  • همیشه از همان ترتیب ابعاد استفاده کنید. این تضمین می کند که هش های شما با اطمینان قابل اعتماد هستند. ( "COUNT, CampaignID=12, GeoID=7" همان هش را با عنوان "COUNT, GeoID=7, CampaignID=12" تولید نمی کند). یک روش ساده برای دستیابی به این هدف ، مرتب سازی ابعاد الفبا است. این همان کاری است که ما به عنوان مثال انجام خواهیم داد ، به جز این واقعیت که ما همیشه مورد اول را در ابعاد COUNT یا VALUE خواهیم کرد - این یک انتخاب برای خوانایی است ، زیرا COUNT یا VALUE اطلاعاتی را رمزگذاری می کند که از نظر مفهومی کمی متفاوت از آن است همه ابعاد دیگر.
  • مجموعه ای از ابعاد مورد استفاده در کلیدها را پیگیری کنید. شما می خواهید بر اساس مجموعه ای از ابعاد که هرگز از آنها استفاده نکرده اید ، از تولید کلیدها خودداری کنید.
  • در صورت استفاده از عملکرد مناسب هش ، برخورد هش نادر است ، اما بررسی در برابر هش های قبلاً استفاده شده (که باید برای تفسیر نتایج حاصل از سرویس جمع آوری ذخیره شود) می تواند از معرفی کلیدهای جدیدی که با کلیدهای قدیمی برخورد می کنند ، خودداری کنند.

نحوه استفاده از کلیدهای مبتنی بر هش را در عمل در یک تبدیل در هر کلیک یا مثال مشاهده کنید.

ارزشهای قابل جمع در عمل

شرکت Ad Tech هنگام تبدیل کاربر مقادیر قابل جمع را تعیین می کند.

برای محافظت از حریم خصوصی کاربر ، مشارکت هر کاربر از حد بالایی برخوردار است. در تمام مقادیر قابل جمع شدن مرتبط با یک منبع واحد (کلیک یا مشاهده) ، هیچ مقداری نمی تواند بالاتر از حد خاص باشد.

ما از این حد به عنوان CONTRIBUTION_BUDGET استفاده خواهیم کرد. در توضیح دهنده ، این حد بودجه L1 نامیده می شود ، اما همان CONTRIBUTION_BUDGET است.

برای بحث عمیق در مورد بودجه مشارکت ، برای گزارش های خلاصه به بودجه مشارکت مراجعه کنید.

مثال: یک تبدیل در هر کلیک یا مشاهده

برای این مثال ، فرض کنیم که شما به دنبال پاسخ به سوالات زیر هستید:

  • کدام دسته از محصولات در هر منطقه با ارزش ترین هستند؟
  • کدام استراتژی های کمپین در هر منطقه مؤثرترین است؟

همچنین فرض کنیم که برای مورد استفاده شما ، به بینش های هفتگی نیاز دارید.

شما همچنین باید موارد زیر را ردیابی کنید:

  • 16 کمپین مختلف.
  • 8 منطقه جغرافیایی مختلف: آمریکای شمالی ، آمریکای مرکزی ، آمریکای جنوبی ، اروپا ، آفریقا ، آسیا ، کارائیب و اقیانوسیه.
  • 29 دسته محصولات مختلف.

چه چیزی را اندازه گیری کنیم

در حالی که بسیاری از شرکت های فناوری تبلیغی تبلیغ کنندگان را ترغیب می کنند انواع مختلفی از تبدیل را پیکربندی کنند ، تمرکز روی مهمترین تبدیل ها مانند خرید ، روش خوبی برای اطمینان از دقیق و دقیق نتایج برای این رویدادهای مهم تبدیل است. در واقع ، هرچه معیارهای بیشتری را اندازه گیری کنید ، بودجه سهم شما در هر متریک کوچکتر است و از این رو احتمالاً هر ارزش پر سر و صدا تر خواهد بود. بنابراین ، شما باید با دقت انتخاب کنید.

در این مثال ، ما روی تنظیمات کمپین تمرکز خواهیم کرد که فقط یک تبدیل در هر کلیک یا مشاهده اندازه گیری می کند: یک خرید.

شما هنوز هم تعداد خرید و ارزش خرید را اندازه گیری می کنید و به انواع آمار مهم کل مانند ارزش خرید کل و تجزیه جغرافیایی دسترسی پیدا می کنید. این باعث می شود سر و صدا منطقی باشد و یک رویکرد مقیاس بندی ساده را برای بودجه مشارکت شما تضمین می کند.

در مورد ارزها چطور؟

اجرای کمپین ها در مناطق مختلف دلالت بر این دارد که ارزها باید در نظر گرفته شوند. شما می توانید:

  • ارز را به یک بعد اختصاصی در کلیدهای جمع آوری تبدیل کنید.
  • یا ارز را از یک شناسه کمپین استنباط کنید و تمام ارزها را به ارزهای مرجع تبدیل کنید.

در این مثال ، فرض خواهیم کرد که شما می توانید ارز را از یک شناسه کمپین استنباط کنید. این به شما امکان می دهد تا هر مقدار خرید داده شده را از ارز محلی کاربر به ارز مرجع مورد نظر خود تبدیل کنید. هنگامی که کاربر یک مورد را خریداری می کند ، می توانید آن تبدیل را در پرواز انجام دهید.

با استفاده از این تکنیک ، تمام مقادیر قابل جمع در یک ارز مرجع یکسان قرار دارند و بنابراین می توان خلاصه کرد تا یک ارزش خرید کل جمع شده - یک مقدار خرید خلاصه.

اهداف را به کلیدها ترجمه کنید

با اهداف و معیارهای اندازه گیری خود ، گزینه های زیادی برای استراتژی کلیدی خود دارید. بیایید روی دو مورد از این استراتژی ها تمرکز کنیم:

  • استراتژی A: یک ساختار کلید دانه ای.
  • استراتژی B: دو ساختار کلیدی درشت.

استراتژی A: یک درخت عمیق (یک ساختار کلید دانه ای)

در استراتژی A ، شما از یک ساختار کلید گرانول استفاده می کنید ، که شامل تمام ابعاد مورد نیاز شما است:

یک ساختار کلید دانه ای

تمام کلیدهای شما از این ساختار استفاده می کنند.

شما این ساختار کلیدی را به دو نوع کلیدی تقسیم می کنید تا از دو هدف اندازه گیری پشتیبانی کنید.

  • نوع کلید 0: اندازه گیری نوع هدف = 0 ، که تصمیم می گیرید به عنوان تعداد خرید تعریف کنید.
  • نوع کلید 1: اندازه گیری نوع هدف = 1 ، که تصمیم می گیرید به عنوان یک مقدار خرید تعریف کنید.

گزارش های خلاصه به شرح زیر است:

استراتژی گزارش خلاصه.

شما می توانید به استراتژی A به عنوان یک استراتژی "یک درخت عمیق" فکر کنید:

  • هر مقدار خلاصه در گزارش های خلاصه با تمام ابعادی که ردیابی می کنید مرتبط است.
  • شما می توانید این مقادیر خلاصه را در کنار هر یک از این ابعاد جمع کنید ، بنابراین این برنامه ها می توانند به اندازه تعداد ابعادی که دارید عمیق باشد.

با استراتژی A ، شما به سؤالات خود به شرح زیر پاسخ می دهید:

سوال پاسخ
کدام دسته از محصولات در هر منطقه با ارزش ترین هستند؟ تعداد و ارزش های خرید خلاصه را در گزارش های خلاصه ، در تمام کمپین ها جمع کنید.
این به شما تعداد و ارزش خرید را برای هر دسته از محصولات GEO ID × می دهد.
برای هر منطقه ، ارزش خرید و تعداد دسته بندی محصولات مختلف را با یکدیگر مقایسه کنید.
کدام استراتژی های کمپین در هر منطقه مؤثرترین است؟ تعداد و مقادیر خرید خلاصه را که در گزارش های خلاصه وجود دارد ، در تمام دسته بندی محصولات جمع کنید.
این تعداد خرید و ارزش خرید را برای هر کمپین ID × GEO ID به شما می دهد.
برای هر منطقه ، ارزش خرید را با یکدیگر مقایسه کرده و برای کمپین های مختلف حساب کنید.

با استراتژی A ، شما همچنین می توانید به طور مستقیم به این سؤال سوم پاسخ دهید:

"هر یک از کمپین های من در هر منطقه جغرافیایی چه مقدار درآمد برای هر محصول ایجاد کرده است؟"

حتی اگر مقادیر خلاصه پر سر و صدا باشد ، می توانید تعیین کنید که تفاوت در مقدار اندازه گیری شده بین هر کمپین به تنهایی به دلیل سر و صدا نیست. بیاموزید که چگونه این کار را در درک سر و صدا انجام دهید.

استراتژی B: دو درخت کم عمق (دو ساختار کلیدی درشت)

در استراتژی B ، شما از دو ساختار کلیدی درشت استفاده می کنید که هر یک از آنها شامل زیر مجموعه ای از ابعاد مورد نیاز شما است:

ساختار کلید 1 و ساختار کلیدی 2.

شما هر یک از این ساختارهای کلیدی را به دو نوع کلیدی تقسیم می کنید تا از دو هدف اندازه گیری پشتیبانی کنید.

  • اندازه گیری نوع هدف = 0 ، که تصمیم می گیرید به عنوان شمارش خرید تعریف کنید.
  • اندازه گیری نوع هدف = 1 ، که تصمیم می گیرید به عنوان یک مقدار خرید تعریف کنید.

شما در نهایت با چهار نوع کلیدی:

  • نوع کلید I-0: ساختار کلیدی I ، تعداد خرید.
  • نوع کلید I-1: ساختار کلیدی I ، مقدار خرید.
  • نوع کلید II-0: ساختار اصلی II ، تعداد خرید.
  • نوع کلید II-1: ساختار اصلی II ، مقدار خرید.

گزارش های خلاصه به شرح زیر است:

خلاصه استراتژی گزارش B.

شما می توانید از استراتژی B به عنوان یک استراتژی "دو درخت کم عمق" فکر کنید:

  • مقادیر خلاصه در گزارش های خلاصه به یکی از دو مجموعه کوچک از ابعاد نقشه می رود.
  • شما می توانید این مقادیر خلاصه را در کنار هر یک از ابعاد موجود در این مجموعه ها جمع کنید - این بدان معنی است که این برنامه ها به اندازه گزینه A عمیق نیستند ، زیرا ابعاد کمتری برای بالا رفتن در برابر آن وجود دارد.

با استراتژی B ، به سؤالات خود به شرح زیر پاسخ می دهید:

سوال پاسخ
کدام دسته از محصولات در هر منطقه با ارزش ترین هستند؟ به طور مستقیم به شمارش و مقادیر خرید خلاصه دسترسی پیدا کنید.
کدام استراتژی های کمپین در هر منطقه مؤثرترین است؟ به طور مستقیم به شمارش و مقادیر خرید خلاصه دسترسی پیدا کنید.

تصمیم: استراتژی a

استراتژی A ساده تر است ؛ تمام داده ها از ساختار کلیدی یکسان پیروی می کنند ، این بدان معنی است که شما فقط یک ساختار کلیدی برای نگهداری دارید.

با این حال ، با استراتژی A ، برای پاسخ به برخی از سؤالات خود ، باید مقادیر خلاصه ای را که در گزارش های خلاصه دریافت می کنید ، خلاصه کنید. هر یک از این مقادیر خلاصه پر سر و صدا است. با جمع بندی این داده ها ، شما نیز سر و صدا را جمع می کنید .

این مورد در مورد استراتژی B نیست ، جایی که مقادیر خلاصه در گزارش های خلاصه در حال حاضر اطلاعات مورد نیاز خود را به شما می دهد. این بدان معنی است که استراتژی B احتمالاً منجر به تأثیر کمتری از سر و صدا نسبت به استراتژی A خواهد شد.

چگونه باید تعیین کنید که از کدام استراتژی استفاده کنید؟ برای تبلیغ کنندگان یا کمپین های موجود ، ممکن است به داده های تاریخی تکیه کنید تا تعیین کنید که آیا حجم تبدیل ها برای استراتژی A یا استراتژی مناسب تر است. با این حال ، برای تبلیغ کنندگان یا کمپین های جدید ، ممکن است تصمیم بگیرید:

  • داده های یک ماهه را با کلیدهای گرانول (استراتژی A) جمع آوری کنید. از آنجا که شما مدت زمان جمع آوری داده ها را تمدید می کنید ، مقادیر خلاصه بیشتر و نویز نسبتاً پایین تر خواهد بود.
  • با دقت معقول تعداد تبدیل هفتگی و ارزش خرید را ارزیابی کنید.

در این مثال ، فرض کنیم که تعداد خرید هفتگی و ارزش خرید به اندازه کافی بالا است که استراتژی A منجر به درصد نویز می شود که شما را برای مورد استفاده خود قابل قبول می دانید.

از آنجا که استراتژی A ساده تر است و منجر به تأثیر نویز می شود که بر توانایی شما در تصمیم گیری تأثیر نمی گذارد ، شما تصمیم می گیرید با استراتژی A بروید.

یک الگوریتم هشدار را انتخاب کنید

شما تصمیم می گیرید یک رویکرد مبتنی بر هش را برای تولید کلیدهای خود اتخاذ کنید. برای انجام این کار ، برای پشتیبانی از این رویکرد باید یک الگوریتم هشدار را انتخاب کنید.

بیایید فرض کنیم که SHA-256 را انتخاب کرده اید. همچنین می توانید از یک الگوریتم ساده تر و کم امن تر مانند MD5 استفاده کنید.

در مرورگر: کلیدها و مقادیر را تنظیم کنید

اکنون که تصمیم گرفتید در مورد یک ساختار کلیدی و یک الگوریتم هشدار دهنده تصمیم بگیرید ، وقتی کاربران روی تبلیغات کلیک یا مشاهده می کنند و متعاقباً تبدیل می شوند ، می توانید کلیدها و مقادیر را ثبت کنید.

بعدی یک نمای کلی از هدرهایی است که شما می توانید کلیدها و مقادیر موجود در مرورگر را ثبت کنید:

کلیدها و مقادیر را برای مشاهده یا کلیک کنید.
کلیدها و مقادیر را برای تبدیل ثبت کنید.

قطعات کلید سمت منبع را تنظیم کنید

When a user clicks or views an ad, set the aggregation keys in the Attribution-Reporting-Register-Aggregatable-Source header. At this stage, for each key, you can only set the part of the key, or key piece , that's known at ad-serving time.

Let's generate the key pieces:

Source-side key piece for the key ID… String containing the dimension values you want to set Hash of this string as hex, trimmed to the first 64 bits (64/4 = 16 characters 1 ) Hex hash with appended zeros to simplify XOR-ing. This is the source-side key piece.
key_purchaseCount COUNT, CampaignID=12, GeoID=7 0x3cf867903fbb73ec 0x3cf867903fbb73ec0000000000000000
key_purchaseValue VALUE, CampaignID=12, GeoID=7 0x245265f432f16e73 0x245265f432f16e730000000000000000
1 Each hexadecimal digit represents four bits (binary digits).

Let's now set the key pieces:

// 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"
    }
  ])
);

Note that key IDs will not appear in the final reports. They're only used when setting keys in the browser, so that source-side and trigger-side key pieces can be mapped with each other and combined into a full key.

Optional: event-level reports

If you need to use event-level reports alongside aggregatable reports ensure that for a given source, the event-level data (source event ID and trigger data) and the aggregation key can be matched.

You might use both reports if, for example, you plan to use event-level reports to run models on which types of ads tend to lead to the greatest number of purchases.

A user converts

When a user converts, a pixel request is typically sent to the ad tech server. Upon receiving this request:

  • Set the conversion-side (trigger-side) key pieces to complete the key. You'll set these key pieces via the header Attribution-Reporting-Register-Aggregatable-Trigger-Data .
  • Set the aggregatable value for that conversion, via the header Attribution-Reporting-Register-Aggregatable-Values .

Set trigger-side key pieces to complete the key

Let's generate the key pieces:

Trigger-side key piece for the key ID… String containing the dimension values you want to set Hash of this string as hex, trimmed to the first 64 bits (64/4 = 16 characters 1 ) Hex hash with appended zeros to simplify XOR-ing. This is the source-side key piece.
key_purchaseCount ProductCategory=25 0x1c7ce88c4904bbe2 0x0000000000000000f9e491fe37e55a0c
key_purchaseValue (یکسان) (یکسان) (یکسان)
1 Each hexadecimal digit represents four bits (binary digits).

Let's now set the key pieces:

// 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"]
    },
  ])
);

Note how you're adding the same key piece to several keys, by listing several key IDs in source_keys —the key piece will be added to both keys.

Set aggregatable values

Before you set the aggregatable values, you need to scale them up in order to reduce noise.

Let's assume one purchase was made for product type 25 for $52.

You won't set these directly as aggregatable values:

  • key_purchaseCount : 1 conversion
  • key_purchaseValue : $52

Instead, before you register these aggregatable values, you need to scale them in order to minimize noise.

You have two goals to spend your contribution budget against, so you might decide to split the contribution budget in two.

In this case, each goal is allocated a maximum of CONTRIBUTION_BUDGET/2 (=65,536/2=32,768).

Let's assume the maximum purchase value for a single user, based on purchase history across all users of the site, is $1,500. There may be outliers, for example very few users who spent over that sum, but you may decide to ignore these outliers.

Your scaling factor for the purchase value should be:

(( CONTRIBUTION_BUDGET /2) / 1,500) = 32,768/1,500 = 21.8 ≈ 22

Your scaling factor for purchase count is 32,768/1 = 32,768, since you decided to track at most one purchase per ad click or view (source event).

You can now set these values:

  • key_purchaseCount : 1 × 32,768 = 32,768
  • key_purchaseValue : 52 × 22 = 1,144

In practice, you would set them as follows, using the dedicated 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,
  })
);

The aggregatable report is generated

The browser matches the conversion to a previous view or click and generates an aggregatable report, which includes the encrypted payload next to report metadata.

The following is an example of the data that could be found within the payload of the aggregatable report, if it was readable in cleartext:

[
  {
    key: 0x3cf867903fbb73ecf9e491fe37e55a0c, // = source-side key piece XOR 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 XOR conversion-side key piece for the key key_purchaseValue
    value: 1144 // the scaled value for $52, in the context of [CONTRIBUTION_BUDGET/2]
  },
]

Here, you can see two separate contributions within one single aggregatable report.

Request a summary report

  • Batch aggregatable reports. Follow the advice offered in Batching .
  • Generate the keys you want to see data for. For example, to see summary data for COUNT (total number of purchases) and VALUE (total purchase value) for the Campaign ID 12 × Geography ID 7 × Product category 25:
Metric you want to request 1 Source-side key piece Trigger-side key piece Key to request to the aggregation service 2
Total purchase count ( COUNT ) 0x3cf867903fbb73ec
0000000000000000
0x00000000000000
00f9e491fe37e55a0c
0x3cf867903fbb73
ecf9e491fe37e55a0c
Total purchase value ( VALUE ) 0x245265f432f16e73
0000000000000000
0x0000000000000000
f9e491fe37e55a0c
0x245265f432f16e73
f9e491fe37e55a0c
1 Metric you are looking to request (for Campaign ID 12 × Geography ID 7 × Product category 25). 2 Key to request to the aggregation service = Source-side key piece XOR Trigger-side key piece.
  • Request summary data to the aggregation service for these keys.

Handle the summary report

Ultimately, you receive a summary report that may look like this:

[
  {"bucket": "00111100111110000110011110010000001111111011101101110011111011001111100111100100100100011111111000110111111001010101101000001100",
    "value": "2558500"},
  {"bucket": "00100100010100100110010111110100001100101111000101101110011100111111100111100100100100011111111000110111111001010101101000001100",
    "value": "687060"},
  …
]

The first bucket is the COUNT key in binary. The second bucket is the VALUE key in binary. Note that while the keys are heterogeneous ( COUNT versus VALUE ), they're contained in the same report.

Scale down the values

  • 2,558,500 refers to the number of purchases for this key, scaled up by your previously calculated scaling factor. The scaling factor for the purchase count was 32,768. Divide 2,558,500 by the goal's contribution budget: 2,558,500/32,768 = 156.15 purchases.
  • 687,060 → 687,060/22 = $31,230 total purchase value.

As a result, the summary reports give you the following insights:

  • Within the reporting time period, campaign #12 run in Europe drove about 156 purchases (± noise) for the product category #25.
  • Within the reporting time period, campaign #12 run in Europe drove $31,230 of purchases (± noise) for the product category #25.