วิธีสำรองข้อมูล Universal Analytics ของคุณไปยัง BigQuery ด้วย R
เผยแพร่แล้ว: 2023-09-26ในที่สุด Universal Analytics (UA) ก็เลิกใช้งานแล้ว และตอนนี้ข้อมูลของเราไหลเข้าสู่พร็อพเพอร์ตี้ Google Analytics 4 (GA4) อย่างอิสระ อาจเป็นเรื่องยากที่จะไม่ดูการตั้งค่า UA ของเราอีกเลย อย่างไรก็ตาม ก่อนที่เราจะละทิ้ง UA ไว้เบื้องหลัง สิ่งสำคัญคือเราต้องจัดเก็บข้อมูลที่ประมวลผลแล้ว หากเราจำเป็นต้องวิเคราะห์ข้อมูลนั้นในอนาคต สำหรับการจัดเก็บข้อมูลของคุณ แน่นอนว่าเราขอแนะนำ BigQuery ซึ่งเป็นบริการคลังข้อมูลของ Google และในบล็อกนี้ เราจะแสดงให้คุณเห็นว่าข้อมูลใดที่ควรสำรองข้อมูลจาก UA และวิธีดำเนินการ!
หากต้องการดาวน์โหลดข้อมูลของเรา เราจะใช้ Google Analytics API เราจะเขียนสคริปต์ที่จะดาวน์โหลดข้อมูลที่จำเป็นจาก UA และอัปโหลดไปยัง BigQuery ทั้งหมดในคราวเดียว สำหรับงานนี้ เราขอแนะนำอย่างยิ่งให้ใช้ R เนื่องจากแพ็คเกจ googleAnalyticsR และ bigQueryR ทำให้งานนี้ง่ายมาก และเราได้เขียนบทช่วยสอนสำหรับ R ด้วยเหตุผลนี้
คู่มือนี้จะไม่ครอบคลุมขั้นตอนที่ซับซ้อนมากขึ้นในการตั้งค่าการตรวจสอบสิทธิ์ เช่น การดาวน์โหลดไฟล์ข้อมูลประจำตัวของคุณ หากต้องการข้อมูลดังกล่าวและข้อมูลเพิ่มเติมเกี่ยวกับวิธีอัปโหลดข้อมูลไปยัง BigQuery โปรดดูบล็อกของเราเกี่ยวกับการอัปโหลดข้อมูลไปยัง BigQuery จาก R และ Python
การสำรองข้อมูล UA ของคุณด้วย R
ตามปกติสำหรับสคริปต์ R ขั้นตอนแรกคือการโหลดไลบรารีของเรา สำหรับสคริปต์นี้ เราจะต้องมีสิ่งต่อไปนี้:
ห้องสมุด(googleAuthR)
ไลบรารี (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(email = “<อีเมลของคุณที่นี่>”)
ga_id <- <รหัส GA ดูของคุณที่นี่>
ga_id สามารถพบได้ใต้ชื่อของมุมมองเมื่อคุณเลือกใน UA ดังที่แสดงด้านล่าง:
ต่อไป เราต้องตัดสินใจว่าจะนำข้อมูลใดจาก UA มาใช้จริง เราขอแนะนำให้ดึงสิ่งต่อไปนี้:
มิติข้อมูลที่กำหนดขอบเขตเซสชัน | มิติข้อมูลที่กำหนดขอบเขตเหตุการณ์ | มิติข้อมูลที่กำหนดขอบเขตการดูหน้าเว็บ |
รหัสลูกค้า | รหัสลูกค้า | เส้นทางเพจ |
การประทับเวลา | การประทับเวลา | การประทับเวลา |
แหล่งที่มา / สื่อ | หมวดหมู่เหตุการณ์ | แหล่งที่มา / สื่อ |
หมวดหมู่อุปกรณ์ | การดำเนินการของเหตุการณ์ | หมวดหมู่อุปกรณ์ |
แคมเปญ | ป้ายกำกับเหตุการณ์ | แคมเปญ |
การจัดกลุ่มแชแนล | แหล่งที่มา / สื่อ | การจัดกลุ่มแชแนล |
แคมเปญ |
การรวมสิ่งเหล่านี้ลงในตาราง 3 ตารางใน BigQuery น่าจะเพียงพอสำหรับความต้องการข้อมูล UA ที่อาจเกิดขึ้นในอนาคตทั้งหมด หากต้องการดึงข้อมูลนี้จาก UA คุณจะต้องระบุช่วงวันที่ก่อน ไปที่แพลตฟอร์ม UA และดูในรายงานของคุณเพื่อดูว่าการรวบรวมข้อมูลเริ่มครั้งแรกเมื่อใด จากนั้น ระบุช่วงวันที่ที่เริ่มจากวันนั้นไปจนถึงวันก่อนที่คุณจะเรียกใช้สคริปต์ ซึ่งเป็นวันสุดท้ายที่คุณจะสามารถรับข้อมูลได้เต็ม 24 ชั่วโมง (และหากคุณกำลังดำเนินการนี้หลังจาก UA ผ่านไปแล้ว พระอาทิตย์ตก จะรวมข้อมูลที่มีอยู่ของคุณไว้ 100% อยู่แล้ว) การรวบรวมข้อมูลของเราเริ่มต้นในเดือนพฤษภาคม 2017 ดังนั้นฉันจึงเขียนว่า:
วันที่ <- c(“2017-05-01”, Sys.Date()-1)
ตอนนี้เราต้องระบุสิ่งที่ต้องดึงออกจาก UA ตามตารางด้านบน สำหรับสิ่งนี้ เราจะต้องเรียกใช้เมธอด google_analytics() สามครั้ง เนื่องจากคุณไม่สามารถค้นหามิติข้อมูลในขอบเขตที่แตกต่างกันร่วมกันได้ คุณสามารถคัดลอกโค้ดต่อไปนี้ได้ทุกประการ:
sessionspull <- google_analytics (ga_id,
date_range = วันที่
เมตริก = c (“เซสชัน”),
ขนาด = c("clientId", "dateHourMinute",
“sourceMedium”, “หมวดหมู่อุปกรณ์”, “แคมเปญ”, “การจัดกลุ่มช่องสัญญาณ”)
anti_sample = จริง)
เหตุการณ์ดึง <- google_analytics(ga_id,
date_range = วันที่
ตัวชี้วัด = c (“totalEvents”, “eventValue”),
มิติข้อมูล = c("clientId", "dateHourMinute", "eventCategory", "eventAction", "eventLabel", "sourceMedium", "แคมเปญ"),
anti_sample = จริง)
pvpull <- google_analytics(ga_id,
date_range = วันที่
เมตริก = c (“การดูหน้าเว็บ”),
มิติข้อมูล = c("pagePath", "dateHourMinute", "sourceMedium", "deviceCategory", "campaign", "channelGrouping"),
anti_sample = จริง)
สิ่งนี้ควรนำข้อมูลทั้งหมดของคุณไปไว้ในเฟรมข้อมูลสามเฟรมที่มีชื่อว่า sessionspull สำหรับมิติข้อมูลที่กำหนดขอบเขตเซสชัน eventpull สำหรับมิติข้อมูลที่กำหนดขอบเขตเหตุการณ์ และ pvpull สำหรับมิติข้อมูลที่กำหนดขอบเขตขอบเขตการดูหน้าเว็บ
ตอนนี้เราจำเป็นต้องอัปโหลดข้อมูลไปยัง BigQuery ซึ่งเป็นโค้ดที่ควรมีลักษณะเช่นนี้ ทำซ้ำสามครั้งสำหรับแต่ละ dataframe:
bqr_upload_data(“<โครงการของคุณ>”, “<ชุดข้อมูลของคุณ>”, “<ตารางของคุณ>”, <กรอบข้อมูลของคุณ>)
ในกรณีของฉัน นี่หมายความว่ารหัสของฉันอ่านว่า:
bqr_upload_data("โครงการของฉัน", "test2", "bloguploadRSess", เซสชัน)
bqr_upload_data("โครงการของฉัน", "test2", "bloguploadREvent", eventspull)
bqr_upload_data("โครงการของฉัน", "test2", "bloguploadRpv", pvpull)
เมื่อเขียนทั้งหมดนี้แล้ว คุณสามารถตั้งค่าให้สคริปต์ของคุณทำงาน นั่งลง และผ่อนคลายได้! เมื่อเสร็จแล้ว คุณจะสามารถตรงไปที่ BigQuery และคุณจะเห็นข้อมูลทั้งหมดของคุณอยู่ในตำแหน่งปัจจุบัน!
เมื่อข้อมูล UA ของคุณถูกเก็บไว้อย่างปลอดภัยในวันที่ฝนตก คุณจึงสามารถมุ่งความสนใจไปที่การเพิ่มศักยภาพสูงสุดของการตั้งค่า GA4 ของคุณได้อย่างเต็มที่ และ Semetrical ก็พร้อมให้ความช่วยเหลือในเรื่องนี้ ลองอ่านบล็อกของเราเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการใช้ประโยชน์สูงสุดจากข้อมูลของคุณ หรือหากต้องการการสนับสนุนเพิ่มเติมเกี่ยวกับการวิเคราะห์ทุกสิ่ง โปรดดูบริการการวิเคราะห์เว็บของเราเพื่อดูว่าเราจะช่วยคุณได้อย่างไร