كيفية عمل نسخة احتياطية من بيانات Universal Analytics الخاصة بك إلى BigQuery باستخدام R

نشرت: 2023-09-26

لقد توقف برنامج Universal Analytics (UA) أخيرًا، وأصبحت بياناتنا تتدفق الآن بحرية إلى مواقعنا في Google Analytics 4 (GA4). قد يكون من المغري عدم النظر إلى إعدادات UA مرة أخرى أبدًا، ومع ذلك، قبل أن نترك UA خلفنا، من المهم أن نقوم بتخزين البيانات التي تمت معالجتها بالفعل، إذا احتجنا إلى تحليلها في المستقبل. لتخزين بياناتك، نوصي بالطبع باستخدام BigQuery، وهي خدمة تخزين البيانات من Google، وسنعرض لك في هذه المدونة البيانات التي يجب نسخها احتياطيًا من UA، وكيفية القيام بذلك!

لتنزيل بياناتنا، سنستخدم واجهة برمجة تطبيقات Google Analytics. سنقوم بكتابة برنامج نصي يقوم بتنزيل البيانات الضرورية من UA وتحميله إلى BigQuery، مرة واحدة. بالنسبة لهذه المهمة، نوصي بشدة باستخدام R، حيث أن حزم googleAnalyticsR وbigQueryR تجعل هذه المهمة بسيطة للغاية، وقد كتبنا برنامجنا التعليمي لـ R لهذا السبب!

لن يغطي هذا الدليل الخطوات الأكثر تعقيدًا في إعداد المصادقة، مثل تنزيل ملف بيانات الاعتماد الخاص بك. للحصول على معلومات حول ذلك، ومزيد من المعلومات حول كيفية تحميل البيانات إلى BigQuery، راجع مدونتنا حول تحميل البيانات إلى BigQuery من R وPython!

النسخ الاحتياطي لبيانات UA الخاصة بك باستخدام R

كما هو معتاد بالنسبة لأي برنامج نصي R، فإن الخطوة الأولى هي تحميل مكتباتنا. بالنسبة لهذا البرنامج النصي سنحتاج إلى ما يلي:

مكتبة (جوجلAuthR)
المكتبة (googleAnalyticsR)
مكتبة (bigQueryR)

إذا لم تكن قد استخدمت هذه المكتبات من قبل، فقم بتشغيل install.packages(<PACKAGE NAME>) في وحدة التحكم لتثبيتها.

سنحتاج بعد ذلك إلى فرز جميع تراخيصنا المختلفة. للقيام بذلك، ستحتاج إلى تشغيل التعليمات البرمجية التالية واتباع أي تعليمات تعطى لك:

googleAuthR::gar_cache_empty()
googleAuthR::gar_set_client("C:\\Users\\Tom Brown\\Documents\\R\\APIs\\credentials.json")
bqr_auth(البريد الإلكتروني = "<بريدك الإلكتروني هنا>")
ga_id <- <معرف عرض GA الخاص بك هنا>


يمكن العثور على ga_id أسفل اسم العرض عند تحديده في UA، كما هو موضح أدناه:

بعد ذلك، يتعين علينا أن نقرر ما هي البيانات التي يجب أخذها فعليًا من UA. نوصي بسحب ما يلي:

الأبعاد على مستوى الجلسة أبعاد نطاق الحدث أبعاد نطاق مشاهدة الصفحة
معرف العميل معرف العميل مسار الصفحة
الطابع الزمني الطابع الزمني الطابع الزمني
المصدر/متوسط فئة الحدث المصدر/متوسط
فئة الجهاز إجراء الحدث فئة الجهاز
حملة تسمية الحدث حملة
تجميع القنوات المصدر/متوسط تجميع القنوات
حملة

يجب أن يكون وضع هذه العناصر في ثلاثة جداول في BigQuery كافيًا لجميع احتياجاتك المستقبلية المحتملة من بيانات UA. لسحب هذه البيانات من UA، ستحتاج أولاً إلى تحديد نطاق زمني. انتقل إلى منصة UA وألقِ نظرة على أحد تقاريرك لمعرفة متى بدأ جمع البيانات لأول مرة. بعد ذلك، حدد نطاقًا زمنيًا يبدأ من ذلك الحين وحتى اليوم السابق لتشغيل البرنامج النصي الخاص بك، وهو اليوم الأخير الذي ستحصل فيه على بيانات تبلغ مدتها 24 ساعة كاملة (وإذا كنت تفعل ذلك بعد أن يتم UA غروب الشمس، سيتضمن 100% من بياناتك المتاحة على أي حال). بدأ جمع البيانات لدينا في مايو 2017، لذلك كتبت:

التواريخ <- c("2017-05-01"، Sys.Date()-1)

الآن، نحن بحاجة إلى تحديد ما يجب سحبه من UA وفقًا للجدول أعلاه. للقيام بذلك، سنحتاج إلى تشغيل طريقة google_analytics() ثلاث مرات، حيث لا يمكنك الاستعلام عن أبعاد نطاقات مختلفة معًا. يمكنك نسخ الكود التالي بالضبط:

sessionpull <- google_analytics(ga_id,
date_range = التواريخ،
المقاييس = ج("الجلسات")،
الأبعاد = ج("clientId"، "dateHourMinute"،
"sourceMedium"، و"deviceCategory"، و"campaign"، و"channelGrouping")،
anti_sample = TRUE)

eventspull <- google_analytics(ga_id,
date_range = التواريخ،
المقاييس = ج("totalEvents"، "eventValue")،
الأبعاد = c("clientId"، "dateHourMinute"، "eventCategory"، "eventAction"، "eventLabel"، "sourceMedium"، "campaign")،
anti_sample = TRUE)

pvpull <- google_analytics(ga_id,
date_range = التواريخ،
المقاييس = ج("مشاهدات الصفحة")،
الأبعاد = c("pagePath"، "dateHourMinute"، "sourceMedium"، "deviceCategory"، "campaign"، "channelGrouping")،
anti_sample = TRUE)

من المفترض أن يضع هذا جميع بياناتك بدقة في ثلاثة إطارات بيانات بعنوان sessionpull للأبعاد الخاصة بنطاق الجلسة، و eventspull للأبعاد ذات نطاق الحدث، و pvpull للأبعاد الخاصة بنطاق مشاهدة الصفحة.

نحتاج الآن إلى تحميل البيانات إلى BigQuery، والتي يجب أن يبدو الكود الخاص بها على هذا النحو، ويتكرر ثلاث مرات لكل إطار بيانات:

bqr_upload_data("<مشروعك>"، "<مجموعة بياناتك>"، "<جدولك>"، <إطار بياناتك>)

في حالتي، هذا يعني أن الكود الخاص بي يقرأ:

bqr_upload_data("مشروعي"، "test2"، "bloguploadRSess"، sessionpull)
bqr_upload_data("مشروعي"، "test2"، "bloguploadREvent"، eventspull)
bqr_upload_data("مشروعي"، "test2"، "bloguploadRpv"، pvpull)

بمجرد كتابة كل هذا، يمكنك ضبط البرنامج النصي الخاص بك للتشغيل والجلوس والاسترخاء! بمجرد الانتهاء من ذلك، ستتمكن من التوجه إلى BigQuery وسترى جميع بياناتك حيث تنتمي الآن!

من خلال تخزين بيانات UA الخاصة بك بأمان في يوم ممطر، يمكنك التركيز بشكل كامل على تعظيم إمكانات إعداد GA4 - وSemetrical هنا لمساعدتك في ذلك! قم بزيارة مدونتنا لمزيد من المعلومات حول كيفية تحقيق أقصى استفادة من بياناتك. أو لمزيد من الدعم في كل ما يتعلق بالتحليلات، قم بمراجعة خدمات تحليلات الويب الخاصة بنا لمعرفة كيف يمكننا مساعدتك.