توضّح هذه المقالة تنسيق ومخطّط بيانات موقع "إحصاءات Google 4" وبيانات "إحصاءات Google لبرنامج Firebase" التي يتمّ تصديرها إلى BigQuery.
مجموعات البيانات
تتمّ إضافة مجموعة بيانات واحدة باسم "analytics_<property_id>" إلى مشروعك على BigQuery، وذلك لكلّ موقع على "إحصاءات Google 4" وكلّ مشروع على Firebase مرتبط بأداة BigQuery. ويشير "رقم تعريف الموقع" إلى رقم تعريف موقع "إحصاءات Google" الذي يمكن العثور عليه في إعدادات موقع "إحصاءات Google 4"، وفي إعدادات "إحصاءات التطبيقات" في Firebase. وسيتمّ تصدير بيانات كلّ موقع على "إحصاءات Google 4" وكلّ تطبيق تمّ تفعيل ميزة تصدير BigQuery فيه إلى مجموعة البيانات الواحدة هذه.
الجداول
ضمن كل مجموعة بيانات، يتم إنشاء جدول باسم events_YYYYMMDD
كل يوم في حال تفعيل خيار التصدير اليومي.
في حال تفعيل خيار تصدير بيانات البث، يتم إنشاء جدول باسم events_intraday_YYYYMMDD
. وتتم تعبئة هذا الجدول باستمرار أثناء تسجيل الأحداث على مدار اليوم. ويتم حذف هذا الجدول في نهاية كل يوم بعد اكتمال events_YYYYMMDD
.
يُرجى العلم أنّ بعض الأجهزة التي تبدأ عليها الأحداث لا تُرسِل بياناتها إلى "إحصاءات Google" في اليوم نفسه الذي تبدأ فيه الأحداث. ولاحتساب وقت الاستجابة هذا، ستُعدِّل "إحصاءات Google" الجداول اليومية (events_YYYYMMDD
) بأحداث تلك التواريخ لمدة تصل إلى ثلاثة أيام بعد تواريخ الأحداث. سيكون للأحداث الطابع الزمني الصحيح بغض النظر عن وصولها متأخرة. ولا يتم تسجيل الأحداث التي تصل بعد هذه الفترة البالغة ثلاثة أيام.
إذا كنت تستخدم وضع الحماية في BigQuery، لن يتم استيراد الأحداث خلال اليوم الواحد، وسيتم تطبيق حدود إضافية.
بمكنك الترقية من وضع الحماية إذا كنت تريد عمليات استيراد خلال اليوم. الواحد.
الأعمدة
يمثّل كل عمود في الجدول events_YYYYMMDD
مَعلمة متعلّقة بالحدث. ضَع في اعتبارك أنّه يتم دمج بعض المَعلمات ضمن السجلّات، ويمكن تكرار بعض قيم السجلّات، مثل items
وevent_params
. وقد تم توضيح أعمدة الجدول في ما يلي.
تحتوي حقول event (الحدث) على معلومات تُحدِّد الحدث بشكلٍ فريد. | ||
اسم الحقل | نوع البيانات | الوصف |
---|---|---|
event_date | سلسلة | تاريخ تسجيل الحدث (التنسيق YYYYMMDD في المنطقة الزمنية المسجَّلة في تطبيقك) |
event_timestamp | عدد صحيح | وقت تسجيل الحدث في البرنامج (بالميكرو ثانية، التوقيت العالمي المنسّق (UTC)) |
event_previous_timestamp | عدد صحيح | وقت تسجيل الحدث في البرنامج في وقت سابق (بالميكرو ثانية، حسب التوقيت العالمي المنسّق) |
event_name | سلسلة | اسم الحدث |
event_value_in_usd | قيمة عائمة | قيمة تحويل معلمة "value" للحدث إلى عملة (بالدولار الأمريكي). |
event_bundle_sequence_id | عدد صحيح | المعرّف التسلسلي للحزمة التي تمّ تحميل هذه الأحداث فيها |
event_server_timestamp_offset | عدد صحيح | الفَرق في الطابع الزمني بين وقت جمع البيانات وتحميلها بالميكرو ثانية |
event_params RECORD
يمكن لـ event_params RECORD تخزين مَعلمات الأحداث على مستوى الحملة والسياق بالإضافة إلى أيّ مَعلمات أحداث من تحديد المستخدِم. ويتمّ تكرار السجلّ event_params لكلّ مفتاح مرتبط بحدث. تكون مجموعة المَعلمات المخزَّنة في event_params RECORD فريدةً لكلّ عملية تنفيذ. وللاطّلاع على القائمة الكاملة لمَعلمات الأحداث المتعلّقة بعملية التنفيذ، يمكنك إجراء طلب بحث عن قائمة مَعلمات الأحداث. |
||
اسم الحقل | نوع البيانات | الوصف |
---|---|---|
event_params.key | سلسلة | اسم مَعلمة الحدث |
event_params.value | سجلّ | سجلّ يحتوي على قيمة مَعلمة الحدث |
event_params.value.string_value | سلسلة | إذا كانت مَعلمة الحدث ممثَّلة بسلسلة، مثل عنوان URL أو اسم الحملة، ستتم تعبئة تلك المَعلمة في هذا الحقل. |
event_params.value.int_value | عدد صحيح | إذا كانت مَعلمة الحدث ممثَّلة بعدد صحيح، ستتم تعبئتها في هذا الحقل. |
event_params.value.double_value | قيمة عائمة | إذا كانت مَعلمة الحدث ممثَّلة بقيمة مزدوجة، ستتم تعبئتها في هذا الحقل. |
event_params.value.float_value | قيمة عائمة | إذا كانت مَعلمة الحدث ممثَّلة بقيمة نقطة عائمة، ستتم تعبئتها في هذا الحقل. هذا الحقل غير مستخدَم حاليًا. |
السجلّ item_params
يمكن للسجلّ item_params تخزين مَعلمات السلع بالإضافة إلى أي مَعلمات سلع من تحديد المستخدِم. وتكون مجموعة المَعلمات المخزَّنة في سجلّ item_params فريدةً لكلّ عملية تنفيذ. |
||
اسم الحقل | نوع البيانات | الوصف |
---|---|---|
item_params.key | سلسلة | اسم مَعلمة السلعة |
item_params.value | سجلّ | سجلّ يحتوي على قيمة معلَمة السلعة |
item_params.value.string_value | سلسلة | إذا كانت مَعلمة السلعة ممثَّلة بسلسلة، ستتم تعبئتها في هذا الحقل. |
item_params.value.int_value | عدد صحيح | إذا كانت مَعلمة السلعة ممثَّلة بعدد صحيح، ستتم تعبئتها في هذا الحقل. |
item_params.value.double_value | قيمة عائمة | إذا كانت مَعلمة السلعة ممثَّلة بقيمة مزدوجة، ستتم تعبئتها في هذا الحقل. |
item_params.value.float_value | قيمة عائمة | إذا كانت مَعلمة السلعة ممثَّلة بقيمة نقطة عائمة، ستتم تعبئتها في هذا الحقل. |
تحتوي حقول user (المستخدِم) على معلومات تُحدِّد بشكلٍ فريد المستخدِم المرتبط بالحدث. | ||
اسم الحقل | نوع البيانات | الوصف |
---|---|---|
is_active_user | قيمة منطقية |
تحدِّد القيمة ما إذا كان المستخدم نشطًا (صحيح) أو غير نشط (خطأ) في أيّ وقت من اليوم التقويمي. يتمّ تضمين القيمة في الجداول اليومية فقط ( |
user_id | سلسلة | المعرّف الفريد الذي تمّ تعيينه لمستخدِم. |
user_pseudo_id | سلسلة | رقم التعريف الذي لا ينسب البيانات لصاحبها (على سبيل المثال، رقم تعريف مثيل التطبيق) للمستخدِم |
user_first_touch_timestamp | عدد صحيح | وقت فتح المستخدِم للتطبيق أو زيارته للموقع الإلكتروني للمرّة الأولى (بالميكرو ثانية) |
حقول privacy_info
تحتوي حقول privacy_info على معلومات تستند إلى حالة موافقة المستخدِم عندما يكون وضع الموافقة مفعَّلاً. | ||
اسم الحقل | نوع البيانات | الوصف |
---|---|---|
privacy_info.ads_storage | سلسلة |
تحدد هذه القيمة ما إذا كان المستخدِم يريد تفعيل استهداف الإعلانات. القيم المحتملة: نعم، لا، غير مُحدَّد |
privacy_info.analytics_storage | سلسلة |
ما إذا كانت مساحة تخزين "إحصاءات Google" مفعّلة للمستخدم. القيم المحتملة: نعم، لا، غير مُحدَّد |
privacy_info.uses_transient_token | سلسلة |
يوضح ما إذا كان مستخدم الويب قد رفض مساحة تخزين في "إحصاءات Google" وفعَّل مطوّر البرامج القياس بدون ملفات تعريف الارتباط استنادًا إلى الرموز المميزة العابرة في بيانات الخادم. القيم المحتملة: نعم، لا، غير مُحدَّد |
user_properties RECORD
يحتوي السجلّ user_properties RECORD على أيّ خصائص مستخدِم أعددتها. ويتم تكراره لكلّ مفتاح مرتبط بالمستخدِم. | ||
اسم الحقل | نوع البيانات | الوصف |
---|---|---|
user_properties.key | سلسلة | اسم خاصيّة المستخدِم |
user_properties.value | سجلّ | سجلّ قيمة خاصيّة المستخدِم |
user_properties.value.string_value | سلسلة | قيمة السلسلة لخاصيّة المستخدِم |
user_properties.value.int_value | عدد صحيح | قيمة العدد الصحيح لخاصيّة المستخدِم |
user_properties.value.double_value | قيمة عائمة | القيمة المزدوجة لخاصيّة المستخدِم |
user_properties.value.float_value | قيمة عائمة | هذا الحقل غير مستخدَم حاليًا. |
user_properties.value.set_timestamp_micros | عدد صحيح | الوقت (بالميكرو ثانية) عندما تم إعداد خاصيّة المستخدِم للمرّة الأخيرة |
user_ltv RECORD
يحتوي السجلّ user_ltv RECORD على معلومات القيمة الدائمة عن المستخدِم. لا تتم تعبئة هذا السجلّ في الجداول اليومية | ||
اسم الحقل | نوع البيانات | الوصف |
---|---|---|
user_ltv.revenue | قيمة عائمة | القيمة الدائمة (الأرباح) للمستخدِم. لا تتم تعبئة هذا الحقل في الجداول اليومية |
user_ltv.currency | سلسلة | القيمة الدائمة (العملة) للمستخدِم. لا تتم تعبئة هذا الحقل في الجداول اليومية |
يحتوي السجلّ device (الجهاز) على معلومات حول الجهاز الذي نشأ منه الحدث. | ||
اسم الحقل | نوع البيانات | الوصف |
---|---|---|
device.category | سلسلة | فئة الجهاز (جهاز جوّال، جهاز لوحي، كمبيوتر مكتبي) |
device.mobile_brand_name | سلسلة | اسم العلامة التجارية للجهاز |
device.mobile_model_name | سلسلة | اسم طراز الجهاز |
device.mobile_marketing_name | سلسلة | الاسم التسويقي للجهاز |
device.mobile_os_hardware_model | سلسلة | معلومات طراز الجهاز التي يتم استردادها من نظام التشغيل مباشرةً. |
device.operating_system | سلسلة | نظام تشغيل الجهاز. |
device.operating_system_version | سلسلة | إصدار نظام التشغيل |
device.vendor_id | سلسلة | معرّف الجهاز للمورّد (IDFV) (يكون موجودًا فقط في حال عدم جمع معرّف الجهاز للمعلنين (IDFA)). |
device.advertising_id | سلسلة | معرِّف الإعلانات/معرِّف الجهاز للمعلنين (IDFA) |
device.language | سلسلة | اللغة المستخدمة في نظام التشغيل |
device.time_zone_offset_seconds | عدد صحيح | الفَرق بين التوقيت على الجهاز وتوقيت غرينتش بالثواني |
device.is_limited_ad_tracking | قيمة منطقية |
إعداد "الحد من التتبع الإعلاني" في الجهاز في الإصدار +iOS14، يتم عرض القيمة "خطأ" إذا لم يكن معرِّف المعلِنين (IDFA) بقيمة صفرية. |
device.web_info.browser | سلسلة | المتصفّح الذي شاهَد المستخدِم المحتوى من خلاله. |
device.web_info.browser_version | سلسلة | إصدار المتصفّح الذي شاهد المستخدم المحتوى من خلاله |
device.web_info.hostname | سلسلة | اسم المضيف المرتبط بالحدث المُسجَّل |
geo
يحتوي السجلّ geo (الموقع الجغرافي) على معلومات حول الموقع الجغرافي الذي بدأ الحدث منه. | ||
اسم الحقل | نوع البيانات | الوصف |
---|---|---|
geo.continent | سلسلة | القارّة التي وقعت فيها الأحداث التي تمّ تسجيلها استنادًا إلى عنوان IP |
geo.sub_continent | سلسلة | شبه القارة التي تمّ منها الإبلاغ عن الأحداث، استنادًا إلى عنوان IP. |
geo.country | سلسلة | البلد الذي وقعت فيه الأحداث التي تمّ تسجيلها استنادًا إلى عنوان IP |
geo.region | سلسلة | المنطقة التي وقعت فيها الأحداث التي تمّ تسجيلها استنادًا إلى عنوان IP |
geo.metro | سلسلة | المنطقة المركزية التي تمّ منها الإبلاغ عن الأحداث، استنادًا إلى عنوان IP. |
geo.city | سلسلة | المدينة التي تمّ منها الإبلاغ عن الأحداث، استنادًا إلى عنوان IP |
يحتوي السجلّ app_info على معلومات عن التطبيق الذي بدأ الحدث منه. | ||
اسم الحقل | نوع البيانات | الوصف |
---|---|---|
app_info.id | سلسلة | اسم حزمة التطبيق أو رقم تعريف حزمة التطبيق. |
app_info.firebase_app_id | سلسلة | معرّف التطبيق في Firebase المرتبط بالتطبيق. |
app_info.install_source | سلسلة | المتجر الذي ثبّت التطبيق. |
app_info.version | سلسلة | versionName للتطبيق (Android) أو الإصدار القصير للحزمة |
يحتوي الحقل collected_traffic_source RECORD على بيانات مصدر الزيارات التي تم جمعها مع الحدث |
||
اسم الحقل | نوع البيانات | الوصف |
---|---|---|
manual_campaign_id | سلسلة | رقم التعريف اليدوي للحملة (utm_id) الذي تم جمعه مع الحدث |
manual_campaign_name | سلسلة | الاسم اليدوي للحملة (utm_campaign) الذي تم جمعه مع الحدث |
manual_source | سلسلة | المصدر اليدوي للحملة (utm_source) الذي تم جمعه مع الحدث. ويتضمّن أيضًا المَعلمات المُحلّلة من مَعلمات الإحالة، وليس فقط قيم نظام مراقبة الزيارات من Urchin. |
manual_medium | سلسلة | الوسيط اليدوي للحملة (utm_medium) الذي تم جمعه مع الحدث. ويتضمّن أيضًا المَعلمات المُحلّلة من مَعلمات الإحالة، وليس فقط قيم نظام مراقبة الزيارات من Urchin. |
manual_term | سلسلة | الكلمة الرئيسية/العبارة اليدوية للحملة (utm_term) التي تم جمعها مع الحدث |
manual_content | سلسلة | البيانات الوصفية الإضافية اليدوية للحملة (utm_content) التي تم جمعها مع الحدث |
gclid | سلسلة | معرّف النقرة على "إعلانات Google" الذي تم جمعه مع الحدث |
dclid | سلسلة | معرّف "منصّة Google للتسويق" الذي تم جمعه مع الحدث |
srsltid | سلسلة | معرّف Google Merchant Center الذي تم جمعه مع الحدث |
يحتوي السجلّ traffic_source على معلومات حول مصدر الزيارات الذي اكتسب المستخدِم للمرّة الأولى. لا تتم تعبئة هذا السجلّ في الجداول اليومية. ملاحظة: لا تتغير قيم traffic_source إذا تفاعَل المستخدِم مع الحملات اللاحقة بعد التثبيت. |
||
اسم الحقل | نوع البيانات | الوصف |
---|---|---|
traffic_source.name | سلسلة | اسم الحملة التسويقية التي اكتسبت المستخدم لأول مرة. لا تتم تعبئة هذا الحقل في الجداول اليومية |
traffic_source.medium | سلسلة | اسم الوسيط (نتائج البحث المدفوعة، نتائج البحث المجانية، البريد الإلكتروني، إلخ) الذي اكتسب المستخدم أولاً. لا تتم تعبئة هذا الحقل في الجداول اليومية |
traffic_source.source | سلسلة | اسم الشبكة التي اكتسبت المستخدم لأول مرة. لا تتم تعبئة هذا الحقل في الجداول اليومية |
يحتوي الحقلان stream (مصدر البيانات) وplatform (النظام الأساسي) على معلومات حول مصدر البيانات والنظام الأساسي للتطبيق. | ||
اسم الحقل | نوع البيانات | الوصف |
---|---|---|
stream_id | سلسلة | رقم التعريف الرقمي لمصدر البيانات الذي نشأ منه الحدث |
platform | سلسلة | النظام الأساسي لمصدر البيانات (الويب أو IOS أو Android) الذي نشأ منه الحدث |
يحتوي السجلّ ecommerce (التجارة الإلكترونية) على معلومات حول أيّ أحداث تجارة إلكترونية تم إعدادها على موقع إلكتروني أو تطبيق. | ||
اسم الحقل | نوع البيانات | الوصف |
---|---|---|
ecommerce.total_item_quantity | عدد صحيح | إجمالي عدد السلع في هذا الحدث، وهو مجموع items.quantity |
ecommerce.purchase_revenue_in_usd | قيمة عائمة | أرباح الشراء في هذا الحدث، بالدولار الأمريكي وبوحدة عادية. وتتم التعبئة لحدث الشراء فقط |
ecommerce.purchase_revenue | قيمة عائمة | أرباح الشراء في هذا الحدث، بالعملة المحلية وبوحدة عادية. وتتم التعبئة لحدث الشراء فقط |
ecommerce.refund_value_in_usd | قيمة عائمة | مبلغ ردّ الأموال في هذا الحدث، بالدولار الأمريكي وبوحدة عادية. تتمّ تعبئة البيانات لحدث ردّ الأموال فقط |
ecommerce.refund_value | قيمة عائمة | مبلغ ردّ الأموال في هذا الحدث، بالعملة المحلّية وبوحدة عادية. تتمّ تعبئة البيانات لحدث ردّ الأموال فقط |
ecommerce.shipping_value_in_usd | قيمة عائمة | تكلفة الشحن في هذا الحدث، بالدولار الأمريكي وبوحدة عادية |
ecommerce.shipping_value | قيمة عائمة | تكلفة الشحن في هذا الحدث، بالعملة المحلّية |
ecommerce.tax_value_in_usd | قيمة عائمة | قيمة الضريبة في هذا الحدث، بالدولار الأمريكي وبوحدة عادية |
ecommerce.tax_value | قيمة عائمة | قيمة الضريبة في هذا الحدث، بالعملة المحلّية وبوحدة عادية |
ecommerce.transaction_id | سلسلة | معرِّف معاملة التجارة الإلكترونية. |
ecommerce.unique_items | عدد صحيح | عدد السلع الفريدة في هذا الحدث، استنادًا إلى item_id وitem_name وitem_brand |
يحتوي السجلّ items (السلع) على معلومات عن السلع التي تمّ تضمينها في أيّ حدث. ويتم تكرار هذا السجلّ لكلّ سلعة. | ||
اسم الحقل | نوع البيانات | الوصف |
---|---|---|
items.item_id | سلسلة | رقم تعريف السلعة |
items.item_name | سلسلة | اسم السلعة |
items.item_brand | سلسلة | العلامة التجارية للسلعة |
items.item_variant | سلسلة | صيغة السلعة |
items.item_category | سلسلة | فئة السلعة |
items.item_category2 | سلسلة | الفئة الفرعية للسلعة |
items.item_category3 | سلسلة | الفئة الفرعية للسلعة |
items.item_category4 | سلسلة | الفئة الفرعية للسلعة |
items.item_category5 | سلسلة | الفئة الفرعية للسلعة |
items.price_in_usd | قيمة عائمة | سعر السلعة بالدولار الأمريكي مع وحدة عادية |
items.price | قيمة عائمة | سعر السلعة بالعملة المحلية |
items.quantity | عدد صحيح | تمثل هذه القيمة كمية السلع. ويتم ضبط الكمية على 1 إذا لم يتم تحديدها |
items.item_revenue_in_usd | قيمة عائمة | الأرباح من هذه السلعة، يتم احتسابها من خلال المعادلة price_in_usd * quantity. وتتم التعبئة لأحداث الشراء فقط بالدولار الأمريكي وبوحدة عادية |
items.item_revenue | قيمة عائمة | الأرباح من هذه السلعة، يتم احتسابها من خلال المعادلة price * quantity. وتتمّ تعبئة البيانات لأحداث الشراء فقط بالعملة المحلية وبوحدة عادية |
items.item_refund_in_usd | قيمة عائمة | قيمة ردّ الأموال لهذه السلعة، ويتم احتسابها من خلال المعادلة price_in_usd * quantity. وتتم التعبئة فقط لأحداث ردّ الأموال، بالدولار الأمريكي وبوحدة عادية |
items.item_refund | قيمة عائمة | قيمة ردّ الأموال لهذه السلعة، ويتم احتسابها من خلال المعادلة price * quantity. وتتم التعبئة لأحداث ردّ الأموال فقط بالعملة المحلية وبوحدة عادية |
items.coupon | سلسلة | رمز القسيمة الذي تمّ تطبيقه على هذه السلعة |
items.affiliation | سلسلة | ارتباط المنتج لتحديد الشركة التي تقدّمه أو الموقع الجغرافي للمتجر الذي يقدّمه |
items.location_id | سلسلة | الموقع الجغرافي المرتبط بالسلعة |
items.item_list_id | سلسلة | رقم تعريف القائمة التي تم فيها عرض السلعة للمستخدِم |
items.item_list_name | سلسلة | اسم القائمة التي تم فيها عرض السلعة للمستخدِم |
Items.item_list_index | سلسلة | موضع السلعة في القائمة |
items.promotion_id | سلسلة | رقم تعريف العرض الترويجي للمنتج |
items.promotion_name | سلسلة | اسم العرض الترويجي للمنتج |
items.creative_name | سلسلة | اسم تصميم الإعلان المستخدَم في إعلان ترويجي على وسائل الإعلام |
items.creative_slot | سلسلة | اسم خانة تصميم الإعلان |
السجلّ item_params
يخزِّن السجلّ item_params مَعلمات السلع المخصّصة التي حدّدتها. تجدر الإشارة إلى أنّ مَعلمات السلع المحدّدة مسبقًا مثل item_id وitem_name وما إلى ذلك غير مضمّنة هنا، بل يتم تصديرها كحقول صريحة. تكون مجموعة المَعلمات المخزَّنة في سجل item_params فريدةً لكلّ عملية تنفيذ. لمعلومات أكثر عن عمليات تنفيذ التجارة الإلكترونية ومصفوفة السلع في "إحصاءات Google 4"، اطّلِع على مقالة قياس التجارة الإلكترونية. |
||
اسم الحقل | نوع البيانات | الوصف |
---|---|---|
item.item_params.key | سلسلة | اسم مَعلمة السلعة |
item.item_params.value | سجلّ | سجلّ يحتوي على قيمة معلَمة السلعة |
item.item_params.value.string_value، | سلسلة | إذا كانت مَعلمة السلعة ممثَّلة بسلسلة، ستتم تعبئتها في هذا الحقل. |
item.item_params.value.int_value | عدد صحيح | إذا كانت مَعلمة السلعة ممثَّلة بعدد صحيح، ستتم تعبئتها في هذا الحقل. |
item.item_params.value.double_value | قيمة عائمة | إذا كانت مَعلمة السلعة ممثَّلة بقيمة مزدوجة، ستتم تعبئتها في هذا الحقل. |
item.item_params.value.float_value | قيمة عائمة | إذا كانت مَعلمة السلعة ممثَّلة بقيمة نقطة عائمة، ستتم تعبئتها في هذا الحقل. |
الصفوف
قد يتم تمثيل بيانات حدث فردي في صف واحد أو عدّة صفوف، استنادًا إلى ما إذا كان يحتوي على سجلّات متكرّرة. على سبيل المثال، سيبدو حدث page_view
مع عدّة event_params
مشابهًا للجدول التالي. يحتوي الصف الأول على اسم الحدث والتاريخ والطابع الزمني وعناصر البيانات الأخرى غير المتكرّرة. ويتم تكرار السجلّ event_params
لكلّ مَعلمة مرتبطة بالحدث. تتم تعبئة هذه السجلّات المتكرّرة في الصفوف اللاحقة أسفل صف الحدث الأوليّ مباشرةً.
event_date | event_timestamp | event_name | event_params.key | event_params_value.string_value |
---|---|---|---|---|
20220222 | 1643673600483790 | page_view | page_location | https://example.com |
page_title | الصفحة الرئيسية | |||
الوسيط | الإحالة | |||
المصدر | ||||
page_referrer | https://www.google.com | |||
<parameters...> | <values...> |
تظهَر بيانات هذا الحدث على النحو التالي في واجهة مستخدِم "إحصاءات Google 4".
إذا كنت تستخدِم إصدارات سابقة من إحدى حزمَتي تطوير البرامج (SDK) وكنت تخطّط للترقية إلى الإصدار 17.2.5 (أو إصدار أحدث) من Android و/أو الإصدار 16.20.0 (أو إصدار أحدث) من iOS، عليك مراعاة ما يلي:
- لاستخدام مخطط BigQuery Export الحالي، يجب ترقية حزمة تطوير البرامج (SDK) إلى الإصدار 17.2.5 (أو إصدار أحدث) لنظام التشغيل Android و/أو الإصدار 16.20.0 (أو إصدار أحدث) لنظام التشغيل iOS. وعند استخدام إصدارات سابقة من حزمة تطوير البرامج (SDK)، ستعبِّر البيانات التي يتمّ تصديرها عن المخطط القديم.
- بعد الترقية، لن تتمكّن من الوصول إلى بيانات السلع إلّا داخل مصفوفة المنتجات المتكرّرة، ولن تكون هذه البيانات متوفّرة في مَعلمات الأحداث العادية كما كان الحال قبل هذه الإصدارات من حزمتَي تطوير البرامج.
- تم إجراء هذا التغيير للسماح بتحليل منتجات متعددة.
- قد تحتاج إلى تعديل الإشارات المرجعية إلى بيانات السلع/المنتجات نتيجةً لذلك.
- سجِّل الدخول إلى وحدة تحكم Cloud Platform >: صفحة إدارة الموارد.
- افتح المشروع الذي تريد نقل بياناته، وانقر على تفعيل Google Cloud Shell في أعلى الصفحة.
- عند فتح وحدة التحكّم، انسِخ النص البرمجي أدناه إلى الملف باسم
migration_script.sql
:- أدخِل الأمر
cat > migration_script.sql
- انسخ النص البرمجي أدناه والصقه في وحدة التحكّم.
- اضغط على Ctrl+D للحفظ والخروج.
SELECT @date AS event_date, event.timestamp_micros AS event_timestamp, event.previous_timestamp_micros AS event_previous_timestamp, event.name AS event_name, event.value_in_usd AS event_value_in_usd, user_dim.bundle_info.bundle_sequence_id AS event_bundle_sequence_id, user_dim.bundle_info.server_timestamp_offset_micros as event_server_timestamp_offset, ( SELECT ARRAY_AGG(STRUCT(event_param.key AS key, STRUCT(event_param.value.string_value AS string_value, event_param.value.int_value AS int_value, event_param.value.double_value AS double_value, event_param.value.float_value AS float_value) AS value)) FROM UNNEST(event.params) AS event_param) AS event_params, user_dim.first_open_timestamp_micros AS user_first_touch_timestamp, user_dim.user_id AS user_id, user_dim.app_info.app_instance_id AS user_pseudo_id, "" AS stream_id, user_dim.app_info.app_platform AS platform, STRUCT( user_dim.ltv_info.revenue AS revenue, user_dim.ltv_info.currency AS currency ) AS user_ltv, STRUCT( user_dim.traffic_source.user_acquired_campaign AS name, user_dim.traffic_source.user_acquired_medium AS medium, user_dim.traffic_source.user_acquired_source AS source ) AS traffic_source, STRUCT( user_dim.geo_info.continent AS continent, user_dim.geo_info.country AS country, user_dim.geo_info.region AS region, user_dim.geo_info.city AS city ) AS geo, STRUCT( user_dim.device_info.device_category AS category, user_dim.device_info.mobile_brand_name, user_dim.device_info.mobile_model_name, user_dim.device_info.mobile_marketing_name, user_dim.device_info.device_model AS mobile_os_hardware_model, @platform AS operating_system, user_dim.device_info.platform_version AS operating_system_version, user_dim.device_info.device_id AS vendor_id, user_dim.device_info.resettable_device_id AS advertising_id, user_dim.device_info.user_default_language AS language, user_dim.device_info.device_time_zone_offset_seconds AS time_zone_offset_seconds, IF(user_dim.device_info.limited_ad_tracking, "Yes", "No") AS is_limited_ad_tracking ) AS device, STRUCT( user_dim.app_info.app_id AS id, @firebase_app_id AS firebase_app_id, user_dim.app_info.app_version AS version, user_dim.app_info.app_store AS install_source ) AS app_info, ( SELECT ARRAY_AGG(STRUCT(user_property.key AS key, STRUCT(user_property.value.value.string_value AS string_value, user_property.value.value.int_value AS int_value, user_property.value.value.double_value AS double_value, user_property.value.value.float_value AS float_value, user_property.value.set_timestamp_usec AS set_timestamp_micros ) AS value)) FROM UNNEST(user_dim.user_properties) AS user_property) AS user_properties FROM `SCRIPT_GENERATED_TABLE_NAME`, UNNEST(event_dim) AS event
- أدخِل الأمر
- افتح وحدة تحكّم جديدة، وانسِخ النص البرمجي bash أدناه باسم
migration.sh
:- أدخِل الأمر
cat > migration.sh
- انسخ النص البرمجي أدناه والصقه في وحدة التحكّم.
- اضغط على Ctrl+D للحفظ والخروج.
يمكنك تعديل النص البرمجي التالي ليتضمّن معرّف موقع "إحصاءات Google"، ومعرّف مشروع BigQuery، ومعرّف التطبيق في Firebase، واسم مجموعة بيانات BigQuery، وتاريخي البدء والانتهاء للبيانات التي تريدها.النص البرمجي (migration.sh):# Analytics Property ID for the Project. Find this in Analytics Settings in Firebase. PROPERTY_ID=your Analytics property ID # Bigquery Export Project. BQ_PROJECT_ID="your BigQuery Project ID" (e.g., "firebase-public-project") # Firebase App ID for the app. FIREBASE_APP_ID="your Firebase App ID" (e.g., "1:300830567303:ios:09b1ab1d3ca29bda") # Dataset to import from. BQ_DATASET="name of BigQuery dataset you want to import from" (e.g., "com_firebase_demo_IOS") # Platform PLATFORM="platform of the app. ANDROID or IOS" # Date range for which you want to run migration, [START_DATE,END_DATE] inclusive. START_DATE=20180324 END_DATE=20180327 # Do not modify the script below, unless you know what you are doing :) startdate=$(date -d"$START_DATE" +%Y%m%d) || exit -1 enddate=$(date -d"$END_DATE" +%Y%m%d) || exit -1 # Iterate through the dates. DATE="$startdate" while [ "$DATE" -le "$enddate" ]; do # BQ table constructed from above params. BQ_TABLE="$BQ_PROJECT_ID.$BQ_DATASET.app_events_$DATE" echo "Migrating $BQ_TABLE" cat migration_script.sql | sed -e "s/SCRIPT_GENERATED_TABLE_NAME/$BQ_TABLE/g" | bq query \ --debug_mode \ --allow_large_results \ --noflatten_results \ --use_legacy_sql=False \ --destination_table analytics_$PROPERTY_ID.events_$DATE \ --batch \ --append_table \ --parameter=firebase_app_id::$FIREBASE_APP_ID \ --parameter=date::$DATE \ --parameter=platform::$PLATFORM \ --project_id=$BQ_PROJECT_ID temp=$(date -I -d "$DATE + 1 day") DATE=$(date -d "$temp" +%Y%m%d) done exit # END OF SCRIPT
- أدخِل الأمر
- افتح وحدة تحكّم جديدة، وأدخِل الأمر
bash migration.sh
user_dim
اسم الحقل | نوع البيانات | الوصف |
---|---|---|
user_dim | سجلّ | سجلّ سمات المستخدم |
user_dim.user_id | سلسلة | رقم تعريف المستخدم الذي تمّ ضبطه من خلال setUserId API |
user_dim.first_open_timestamp_micros | عدد صحيح | الوقت (بالميكرو ثانية) عندما فَتَحَ المستخدِم التطبيق للمرّة الأولى |
user_dim.user_properties | سجلّ | سِجِلّ مكرّر لخصائص المستخدِم التي تمّ إعدادها بواسطة واجهة برمجة التطبيقات setUserProperty |
user_dim.user_properties.key | سلسلة | اسم خاصيّة المستخدم |
user_dim.user_properties.value | سجلّ | سجلّ معلومات عن خاصيّة المستخدِم |
user_dim.user_properties.value.value | سجلّ | سجلّ قيمة خاصيّة المستخدِم |
user_dim.user_properties.value.value.string_value | سلسلة | قيمة السلسلة لخاصيّة المستخدِم |
user_dim.user_properties.value.value.int_value | عدد صحيح | قيمة العدد الصحيح لخاصيّة المستخدِم |
user_dim.user_properties.value.value.double_value | قيمة عائمة | القيمة المزدوجة لخاصيّة المستخدِم |
user_dim.user_properties.value.set_timestamp_usec | عدد صحيح | الوقت (بالميكرو ثانية) عندما تم إعداد خاصيّة المستخدِم للمرّة الأخيرة |
user_dim.user_properties.value.index | عدد صحيح | فهرس لخاصية المستخدم (من 0 إلى 24) |
user_dim.device_info | سجلّ | سِجِلّ معلومات الجهاز |
user_dim.device_info.device_category | سلسلة | فئة الجهاز (جهاز جوّال، جهاز لوحي، كمبيوتر مكتبي) |
user_dim.device_info.mobile_brand_name | سلسلة | اسم العلامة التجارية للجهاز |
user_dim.device_info.mobile_model_name | سلسلة | اسم طراز الجهاز |
user_dim.device_info.mobile_marketing_name | سلسلة | الاسم التسويقي للجهاز |
user_dim.device_info.device_model | سلسلة | طراز الجهاز |
user_dim.device_info.platform_version | سلسلة | إصدار نظام التشغيل |
user_dim.device_info.device_id | سلسلة | معرِّف الجهاز للمورّدين (IDFV) (موجود فقط في حال عدم توفّر معرِّف الجهاز للمعلنين (IDFA) |
user_dim.device_info.resettable_device_id | سلسلة | معرِّف الإعلانات/معرِّف الجهاز للمعلنين (IDFA) |
user_dim.device_info.user_default_language | سلسلة | اللغة المستخدمة في نظام التشغيل |
user_dim.device_info.device_time_zone_offset_seconds | عدد صحيح | الفَرق بين التوقيت على الجهاز وتوقيت غرينتش بالثواني |
user_dim.device_info.limited_ad_tracking | قيمة منطقية | إعداد "الحد من التتبع الإعلاني" في الجهاز |
user_dim.geo_info | سجلّ | سِجِلّ حول معلومات المستخدِم الجغرافية |
user_dim.geo_info.continent | سلسلة | القارّة التي وقعت فيها الأحداث التي تمّ تسجيلها استنادًا إلى عنوان IP |
user_dim.geo_info.country | سلسلة | البلد الذي وقعت فيه الأحداث التي تمّ تسجيلها استنادًا إلى عنوان IP |
user_dim.geo_info.region | سلسلة | المنطقة التي وقعت فيها الأحداث التي تمّ تسجيلها استنادًا إلى عنوان IP |
user_dim.geo_info.city | سلسلة | المدينة التي تمّ منها الإبلاغ عن الأحداث، استنادًا إلى عنوان IP |
user_dim.app_info | سجلّ | سِجِلّ معلومات حول التطبيق |
user_dim.app_info.app_version | سلسلة | versionName للتطبيق (Android) أو الإصدار القصير للحزمة |
user_dim.app_info.app_instance_id | سلسلة | المعرّف الفريد لهذه النسخة الافتراضية من التطبيق |
user_dim.app_info.app_store | سلسلة | المتجر الذي ثبّت هذا التطبيق |
user_dim.app_info.app_platform | سلسلة | النظام الأساسي الذي يتمّ تشغيل التطبيق منه |
user_dim.traffic_source | سجلّ | اسم مصدر الزيارات الذي أدى إلى اكتساب المستخدِم. لا تتم تعبئة هذا الحقل في جداول اليوم الواحد. |
user_dim.traffic_source.user_acquired_campaign | سلسلة | اسم حملة التسويق التي أدت إلى اكتساب المستخدم. لا تتم تعبئة هذا الحقل في جداول اليوم الواحد. |
user_dim.traffic_source.user_acquired_medium | سلسلة | اسم الوسيط (نتائج البحث المدفوعة، بحث مجاني، بريد إلكتروني، وغير ذلك) الذي أدّى إلى اكتساب المستخدم. لا تتم تعبئة هذا الحقل في الجداول اليومية |
user_dim.traffic_source.user_acquired_source | سلسلة | اسم الشبكة التي أدت إلى اكتساب المستخدم. لا تتم تعبئة هذا الحقل في جداول اليوم الواحد. |
user_dim.bundle_info | سجلّ | سجلّ المعلومات حول الحزمة التي تمّ تحميل هذه الأحداث فيها |
user_dim.bundle_info.bundle_sequence_id | عدد صحيح | المعرّف التسلسلي للحزمة التي تمّ تحميل هذه الأحداث فيها |
user_dim.ltv_info | سجلّ | سجلّ المعلومات عن القيمة الدائمة لهذا المستخدِم لا تتم تعبئة هذا الحقل في جداول اليوم الواحد. |
user_dim.ltv_info.revenue | قيمة عائمة | القيمة الدائمة لهذا المستخدِم (الأرباح) لا تتم تعبئة هذا الحقل في جداول اليوم الواحد. |
user_dim.ltv_info.currency | سلسلة | القيمة الدائمة لهذا المستخدِم (العملة) لا تتم تعبئة هذا الحقل في جداول اليوم الواحد. |
event_dim
اسم الحقل | نوع البيانات | الوصف |
---|---|---|
event_dim | سجلّ | سجل مكرّر من المعلومات المتعلّقة بالأحداث في هذه الحزمة |
event_dim.date | سلسلة | تاريخ تسجيل الحدث (التنسيق YYYYMMDD في المنطقة الزمنية المسجّلة في التطبيق) |
event_dim.name | سلسلة | اسم هذا الحدث |
event_dim.params | سجلّ | سِجِلّ مكرّر للمعلمات المرتبطة بهذا الحدث |
event_dim.params.key | سلسلة | مفتاح معلمة الحدث |
event_dim.params.value | سجلّ | سِجِلّ قيمة معلمة الحدث |
event_dim.params.value.string_value | سلسلة | قيمة سلسلة مَعلمة الحدث |
event_dim.params.value.int_value | عدد صحيح | قيمة العدد الصحيح لمعلمة الحدث |
event_dim.params.value.double_value | قيمة عائمة | القيمة المزدوجة لمعلمة الحدث |
event_dim.timestamp_micros | عدد صحيح | وقت تسجيل الحدث في البرنامج (بالميكرو ثانية، حسب التوقيت العالمي المنسّق) |
event_dim.previous_timestamp_micros | عدد صحيح | وقت تسجيل الحدث في الجهاز في وقت سابق (بالملّي ثانية، حسب التوقيت العالمي المنسّق) |