رویدادهای پروتکل اندازه گیری را به Google Analytics ارسال کنید

این راهنما توضیح می‌دهد که چگونه می‌توانید رویدادهای جریان برنامه و وب پروتکل اندازه‌گیری Google Analytics را به سرور Google Analytics ارسال کنید تا بتوانید رویدادهای پروتکل اندازه‌گیری را در گزارش‌های Google Analytics خود مشاهده کنید.

پلتفرمی را که می خواهید در این راهنما ببینید انتخاب کنید:

فرمت درخواست

پروتکل اندازه گیری Google Analytics فقط از درخواست های HTTP POST پشتیبانی می کند.

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

POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json

PAYLOAD_DATA

شما باید موارد زیر را در URL درخواست ارائه دهید:

  • api_secret : API SECRET ایجاد شده در رابط کاربری Google Analytics.

    برای ایجاد راز جدید، به Admin > Data collection and modification > Data streams > جریان خود را انتخاب کنید > Measurement Protocol API Secrets > Create را انتخاب کنید.

  • measurement_id : شناسه اندازه‌گیری مرتبط با یک جریان، که در رابط کاربری Google Analytics در زیر Admin > Data Streams > جریان خود را انتخاب کنید > Measurement ID یافت می‌شود.

    measurement_id شناسه جریان شما نیست.

شما باید بدنه درخواستی را در قالب بدنه JSON POST برای پروتکل اندازه گیری ارائه دهید. در اینجا یک مثال است:

  {
   "client_id": "CLIENT_ID",
   "events": [
      {
        "name": "login",
        "params": {
          "method": "Google",
          "session_id": "SESSION_ID",
          "engagement_time_msec": 100
        }
      }
   ]
  }

در حالی که session_start یک نام رویداد رزرو شده است، ایجاد یک session_id جدید یک جلسه جدید بدون نیاز به ارسال session_start ایجاد می کند. نحوه شمارش جلسات را درک کنید.

آن را امتحان کنید

در اینجا مثالی وجود دارد که می توانید از آن برای ارسال چندین رویداد به طور همزمان استفاده کنید. این مثال یک رویداد tutorial_begin و یک رویداد join_group را به سرور Google Analytics شما ارسال می‌کند، شامل اطلاعات جغرافیایی با استفاده از قسمت user_location و شامل اطلاعات دستگاه با استفاده از فیلد device است.

const measurementId = "MEASUREMENT_ID";
const apiSecret = "API_SECRET";

fetch(`https://www.google-analytics.com/mp/collect?measurement_id=${measurementId}&api_secret=${apiSecret}`, {
  method: "POST",
  body: JSON.stringify({
    client_id: "CLIENT_ID",
    events: [
      {
        name: "tutorial_begin",
        params: {
          "session_id": "SESSION_ID",
          "engagement_time_msec": 100
        }
      },
      {
        name: "join_group",
        params: {
          "group_id": "G_12345",
          "session_id": "SESSION_ID",
          "engagement_time_msec": 150
        }
      }
    ],
    user_location: {
      city: "Mountain View",
      region_id: "US-CA",
      country_id: "US",
      subcontinent_id: "021",
      continent_id: "019"
    },
    device: {
      category: "mobile",
      language: "en",
      screen_resolution: "1280x2856",
      operating_system: "Android",
      operating_system_version: "14",
      model: "Pixel 9 Pro",
      brand: "Google",
      browser: "Chrome",
      browser_version: "136.0.7103.60"
    }
  })
});

لغو مهر زمانی

پروتکل اندازه گیری از اولین مهر زمانی که در لیست زیر پیدا می کند برای هر رویداد در درخواست استفاده می کند:

  1. timestamp_micros رویداد.
  2. timestamp_micros درخواست.
  3. زمانی که پروتکل اندازه گیری درخواست را دریافت می کند.

مثال زیر یک مهر زمانی در سطح درخواست ارسال می کند که برای همه رویدادهای درخواست اعمال می شود. در نتیجه، پروتکل اندازه گیری به هر دو رویداد tutorial_begin و join_group یک مهر زمانی از requestUnixEpochTimeInMicros اختصاص می دهد.

{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "events": [
    {
      "name": "tutorial_begin"
    },
    {
      "name": "join_group",
      "params": {
        "group_id": "G_12345",
      }
    }
  ]
}

مثال زیر هم یک مهر زمانی در سطح درخواست و هم مهر زمانی در سطح رویداد را ارسال می کند. در نتیجه، پروتکل اندازه‌گیری به رویداد tutorial_begin یک مهر زمانی از tutorialBeginUnixEpochTimeInMicros و رویداد join_group یک مهر زمانی از requestUnixEpochTimeInMicros اختصاص می‌دهد.

{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "events": [
    {
      "name": "tutorial_begin",
      "timestamp_micros": tutorialBeginUnixEpochTimeInMicros
    },
    {
      "name": "join_group",
      "params": {
        "group_id": "G_12345",
      }
    }
  ]
}

محدودیت ها

محدودیت‌های زیر برای ارسال رویدادهای پروتکل اندازه‌گیری به Google Analytics اعمال می‌شود:

  • درخواست ها می توانند حداکثر 25 رویداد داشته باشند.
  • رویدادها می توانند حداکثر 25 پارامتر داشته باشند.
  • رویدادها می توانند حداکثر 25 ویژگی کاربر داشته باشند.
  • نام ویژگی های کاربر باید 24 کاراکتر یا کمتر باشد.
  • مقادیر ویژگی کاربر باید 36 کاراکتر یا کمتر باشد.
  • نام رویدادها باید 40 نویسه یا کمتر باشد، فقط می‌توانند شامل نویسه‌های الفبای عددی و زیرخط باشند و باید با یک نویسه الفبا شروع شوند.
  • نام پارامترها شامل پارامترهای آیتم باید 40 کاراکتر یا کمتر باشد، فقط می‌تواند شامل نویسه‌های الفبای عددی و زیرخط باشد و باید با یک نویسه الفبایی شروع شود.
  • مقادیر پارامتر شامل مقادیر پارامتر آیتم باید 100 نویسه یا کمتر برای یک ویژگی استاندارد Google Analytics و 500 کاراکتر یا کمتر برای ویژگی Google Analytics 360 باشد.
  • پارامترهای مورد می توانند حداکثر 10 پارامتر سفارشی داشته باشند.
  • بدنه پست باید کوچکتر از 130 کیلوبایت باشد.
  • رویدادهای پروتکل اندازه‌گیری برنامه ارسال شده به Google Analytics مخاطبان جستجو در Google Ads را برای کاربران برنامه پر نمی‌کند.

برای الزامات اضافی هر مورد، موارد استفاده رایج را ببینید.