ورود از Google Analytics 4
دو راه برای آوردن عددهای GA4: جمع روزانه برای اینکه MousePlayer چقدر میبیند و نشست منفرد GA4 از خروجی BigQuery برای بازدیدی که نتوانستیم ضبط کنیم.
1. چه چیزی وارد میشود و چه چیزی نه
هر دو مسیر از حساب Google خودتان میخوانند و جدا فعال میشوند. پرسش متفاوتی پاسخ میدهند و هر دو لازم نیست.
| مسیر | چه میگیرد | برای چه |
|---|---|---|
| Data API | جمع روزانه: نشست، کاربر، بازدید صفحه، نشست دارای تعامل | پرسش پوشش. GA4 تعداد 3,000 نشست میشمارد و MousePlayer تعداد 40 ضبط کرده؛ بدون عدد مرجع حتی تفاوت دیده نمیشود. |
| ورود BigQuery | نشست منفرد GA4 همراه رویداد | اتفاقی که در بازدید غیرقابل ضبط MousePlayer افتاده است. |
نشست واردشده قابل بازپخش نیست. GA4 تصویر صفحه یا حرکت ماوس نگه نمیدارد تا از آن بازپخش ساخته شود. آنچه میگیرید عدد و رویداد کنار ضبطهاست؛ فقط همین و بیش از آن نشانش نمیدهیم.
دادهٔ ورودی در جدول جدا میماند و هرگز با ضبط شما مخلوط نمیشود. وگرنه معنی هر عدد مشتقشده بیصدا عوض میشود؛ نمایهٔ رفتار، ارزشگذاری بازدیدکننده و تحلیل اصطکاک؛ و بعد کسی نمیداند کدام ردیف سنجیده و کدام گرفته شده است.
2. مسیر 1: Data API
دو چیز لازم دارید: شناسهٔ ملک و کلید حساب سرویس.
شناسهٔ ملک با شناسهٔ اندازهگیری فرق دارد
این رایجترین تلاش ناموفق است و پیام خطای خود Google آن را نمیگوید. این شناسهٔ اندازهگیری شبیه این است: G-ABC123XYZ، در کد ردیابی هست و همهجا دیده میشود. این شناسهٔ ملک کاملاً عددی است و فقط در مدیریت، تنظیمات ملک دیده میشود. دومی لازم است؛ اولی را با یادداشت رد میکنیم تا به خطای 400 نرسید.
ساخت و مجازسازی حساب سرویس
- در Google Cloud Console حساب سرویس بسازید و کلید JSON تولید کنید.
- در همان پروژه این مورد را فعال کنید: Google Analytics Data API.
- در GA4، مدیریت، مدیریت دسترسی ملک، ایمیل حساب سرویس را با این نقش اضافه کنید: مشاهدهگر. حساب سرویس کاربری مستقل است؛ بدون این گام Google پاسخ 403 میدهد و دلیل نمیگوید.
محتوای فایل JSON را در فیلد بچسبانید. رمزگذاریشده ذخیره و بعد فقط کوتاهشده نشان داده میشود.
3. مسیر 2: ورود BigQuery
این مسیر خروجی خام GA4 را میخواند. یک بار در GA4، مدیریت، پیوندهای BigQuery راهاندازی کنید. جدول فقط از روز بعد ظاهر میشود - پیش از آن ورود چیزی نمییابد و این خطا نیست.
چه وارد میکنید
- این شناسهٔ پروژهٔ GCP که خروجی در آن است. لزوماً همان پروژهٔ مقصد خروجی MousePlayer نیست.
- این شناسهٔ مجموعهداده. GA4 آن را اینگونه نامگذاری میکند:
analytics_<propertyId>. - کلید حساب سرویس با نقش BigQuery Data Viewer روی مجموعهداده و نقش BigQuery Job User در پروژه. دسترسی خواندن کافی است؛ بیشتر ندهید.
هزینه چقدر است و چه کسی میپردازد
BigQuery بر پایهٔ بایت خواندهشده صورتحساب میدهد و هزینه با شماست. برای همین ورود در هر اجرا فقط چند روز میخواند و تنها یک پرسوجو اجرا میکند؛ دومی همان جدول را دوباره میخواند. علاوه بر آن سقف سخت، پرسوجو را پیش از گران شدن قطع میکند؛ آنگاه پیام گزارش تحویل میگوید بازهٔ زمان بسیار بزرگ است.
زمانبندی
پیشفرض هر شش ساعت است و هر بار سه روز اخیر دوباره گرفته میشود. دلخواه نیست: GA4 تا 48 ساعت دادهٔ گذشته را تکمیل میکند و خروجی روزانه روز بعد ظاهر میشود. درخواست بیشتر عدد تازهتر نمیدهد، فقط همان عددها را میدهد.
4. کلید پیوند دو طرف
اگر این مورد را هم تنظیم کنید: پل تحلیل روی GA4، MousePlayer شناسهٔ کارخواه را از کوکی _ga با هر نشست ثبت میکند. دقیقاً همان مقداری است که خروجی BigQuery با این نام دارد: user_pseudo_id.
با آن نشست GA4 به ضبط شما منطبق میشود و برعکس میبینید GA4 در همان بازدید چه شمرده است. بدون پل دو طرف فقط کنار هماند و متصل نیستند.
همان فیلد شناسهٔ مشتری خودتان را هم نگه میدارد اگر از این مورد استفاده کنید: setUserId(). هر دو را نمیتوانید داشته باشید: یا شناسهٔ کارخواه Google آنجاست یا شمارهٔ خودتان.
5. رضایت، نگهداری، حذف
مورد واردشده کوکی داشته است
فقط ردیفی وارد میشود که این مورد را داشته باشد: user_pseudo_id . وقتی بازدیدکننده رد میکند، GA4 در Consent Mode درخواست بدون کوکی میفرستد و آنها این مورد را ندارند؛ پس بدون نیاز به تضمین کسی کنار میروند. ردیف مدلشده، یعنی برآوردی، به همین دلیل وارد نمیشود: ذخیرهٔ برآورد بهعنوان نشست یعنی ذخیرهٔ بازدیدی که رخ نداده است.
چه مدت میماند
پیشفرض 180 روز، از روزی که ردیف توصیف میکند و نه زمان ورود. وگرنه دوره هرگز تمام نمیشود، چون هر بار همان روزها دوباره گرفته میشوند.
حذف
اگر بازدیدکننده حذف داده را بخواهد، نشست واردشدهٔ GA4 هم تا جایی که از شناسهٔ بالا قابل انتساب باشد حذف میشود. با حذف پروژه در هر حال حذف میشود، حتی ردیفی که هرگز به ضبط شما تعلق نداشته است. اجرای روزانهٔ نگهداری عمداً دست نمیزند: دادهٔ GA4 زمانبندی مستقل دارد و ضبط شما زودتر منقضی میشود.
6. وقتی چیزی نمیرسد
هر اجرا نتیجه، حتی شکست، را با واژهٔ روشن در گزارش تحویل صفحهٔ یکپارچهسازی مینویسد. معمولاً همان میگوید چه کم است.
| پیام | اقدام |
|---|---|
| شناسهٔ ملک باید کاملاً عددی باشد | شناسهٔ اندازهگیری دادهاید. عدد درست در GA4، تنظیمات ملک است. |
| HTTP 403 از Data API | حساب سرویس مشاهدهگر ملک GA4 نیست یا Data API در پروژهٔ GCP فعال نیست. |
| مجموعهداده یا جدول خروجی پیدا نشد | پیوند BigQuery نیست، نام مجموعهداده فرق دارد یا هنوز یک روز نگذشته است. |
| دسترسی رد شد (BigQuery) | حساب سرویس روی مجموعهداده نقش BigQuery Data Viewer یا در پروژه نقش BigQuery Job User ندارد. |
| پرسوجو دادهٔ بیش از حد میخواند | سقف هزینه پیش از صورتحساب آن را قطع کرد. بازهٔ کوچکتر انتخاب کنید. |
| در بازه نشستی نیست | خطا نیست. در روزهای گرفتهشده نشست با رضایت وجود نداشته است. |