الجمع بين Google Analytics و Shopify: إنشاء مستودع بيانات التجارة الإلكترونية في BigQuery

نشرت: 2023-02-15

يعد Google Analytics أداة رائعة تتيح لك فهم سلوك المستخدم لأولئك الذين يزورون موقع الويب الخاص بك. حيث إن Shopify رائع في تقديم تغطية مفصلة للأداء من منظور التجارة الإلكترونية. كلاهما رائع في ما يفعلونه ، ولكن هناك نقطة تفشل فيها البيانات من Shopify و Google Analytics (GA) بمعزل عن توفير الرؤى الأعمق التي قد ترغب فيها. في حين أن لكل منها القدرة على توفير معلومات قوية ، إلا أن هناك مستوى أكبر بكثير من البصيرة التي يمكن اكتسابها من خلال دمج البيانات.

في هذا المثال بالذات ، سوف نغطي كيف حققنا ذلك لأصدقائنا في Pooch & Mutt ، وهي شركة مقرها المملكة المتحدة تنتج طعامًا طبيعيًا وصحيًا للكلاب. أردنا تحسين الرؤى من خلال أخذ البيانات التي تم جمعها في Google Analytics واستخدامها جنبًا إلى جنب مع بيانات التجارة الإلكترونية من Shopify ، بالإضافة إلى بيانات الاشتراك من إعادة الشحن وربطها ببيانات الاشتراك القديمة من Bold. باستخدام هذا التنوع من مصادر البيانات ، يمكننا بناء صورة أكثر ثراءً وشمولية.

ستسعى هذه المدونة إلى تقديم نظرة عامة حول كيفية تجميعنا لهذه البيانات ، ثم تحديد عمليات التفكير الكامنة وراء دمجها لاستخراج هذه الرؤى المستندة إلى البيانات وتصورها. على وجه التحديد ، سوف نشرح كيف شرعنا في الإجابة على الأسئلة الثلاثة التالية ؛

  1. ما القنوات التي تدفع الاشتراكات؟
  2. مجموعات سلة تتجاوز GA ؛ ما هي السلات الأكثر رواجًا للمشتركين وغير المشتركين وأيها الأكثر ربحًا؟
  3. كم من الوقت وكم عدد عمليات الشراء التي يستغرقها في المتوسط ​​قبل أن يصبح المستخدم مشتركًا؟

المنهجية

قبل أن نبدأ في الإجابة على هذه الأسئلة ، دعنا أولاً نغطي كيف جمعنا جميع البيانات من الأنظمة الأساسية الخاصة بكل منها في موقع مركزي وقمنا ببناء جدول يمكننا استخدامه لجمع هذه البيانات.

هيكل البيانات

لقد اخترنا استخدام BigQuery (BQ) لمركزية البيانات نظرًا لتعدد استخداماتها وقدرتها على التعامل مع مجموعة مجموعات البيانات. يوضح المخطط الانسيابي أدناه الروابط العامة بين البيانات والطريقة التي تم بها تحقيق ذلك:

غرزة

Stitch هي أداة ميسورة التكلفة تسمح لك باستخراج البيانات وتحميلها في مستودعات البيانات المبنية مسبقًا.

لقد اتصلنا بسهولة بـ Shopify وإعادة الشحن من خلال Stitch ، حيث اخترنا ببساطة الجداول التي أردناها. في هذه الحالة ، أهم الجداول هي "العملاء" و "الاشتراكات" من إعادة الشحن ، و "الطلبات" من Shopify.

ثم تتم مزامنة هذه المعلومات مع BQ كل 6 ساعات من خلال عملية الجدولة التلقائية في Stitch.

عريض

بالنسبة لبيانات المشترك التاريخية ، قمنا بإجراء تصدير نهائي وتحميله إلى BQ عبر جداول بيانات Google.

تحليلات كوكل

بينما يمكن أيضًا استخدام Stitch لهذا الغرض ، فقد اخترنا استخدام RStudio للحصول على هذه البيانات في BQ. إذا كنت مهتمًا بمعرفة المزيد حول كيفية القيام بذلك ، فيمكنك قراءة مدونة كتبها خبير R Studio الخاص بنا داني سميث حول كيفية استخدام GA API مع R.

بناء الجدول الرئيسي

بمجرد حصولنا على جميع البيانات المطلوبة في BQ ، يمكننا البدء في دمجها. الخطوات التي اتخذناها للقيام بذلك هي كما يلي:

  1. قمنا بدمج ومواءمة بيانات المشترك القديمة من Bold مع بيانات المشترك الحالية من Recharge.
  2. بعد ذلك ، قمنا بسحب بيانات التجارة الإلكترونية من GA التي تتضمن معرّفات الطلبات (مثل SPFYXXXXX) ، جنبًا إلى جنب مع المصدر والوسيط والقناة.
  3. أنشأنا أعمدة جديدة بناءً على جداول GA وبيانات المشترك الموحدة قبل الانضمام إلى Shopify بيانات الطلب. في هذه الحالة ، تم تضمين بعض هذه الأعمدة الإضافية ؛
    1. معرّف المشترك "النشط"
    2. التاريخ الأصلي للاشتراك
    3. المصدر والوسيط وقناة الطلب
    4. أولا أو كرر طلب العميل
  4. بعد ذلك ، اخترنا الحقول ذات الصلة من Shopify بيانات الطلب التي أردنا ضم هذه البيانات الجديدة إليها. بعض الأمثلة الرئيسية هي ؛
    1. هوية الزبون
    2. رقم التعريف الخاص بالطلب
    3. تاريخ الطلب
    4. SKU
    5. البند الكمية
    6. سعر السلعة
    7. إجمالي سعر الطلب
    8. الرقم التسلسلي للخصم
    9. مقدار الخصم
    10. العلامة (تُستخدم كطريقة إضافية لتصنيف المشتركين مقابل غير المشتركين)
  5. كانت المرحلة الأخيرة هنا هي إنشاء عدد قليل من الأعمدة الإضافية للتعامل بسهولة أكبر مع الصفوف المكررة لعناصر مختلفة بنفس الترتيب ؛
    1. متوسط ​​السعر
    2. متوسط ​​الخصم
    3. حالة المشترك (العلامات + إذا كانت موجودة في جدول Bold & Recharge)

ثم قمنا بجدولة هذا الاستعلام ليتم تشغيله مرة واحدة يوميًا واستخدمنا النتيجة كجدول رئيسي لاستعلامات إضافية. يعني القيام بذلك أننا لم نضطر إلى تشغيل الاستعلام الكامل عدة مرات ، لأنه جدول ثابت يتم تحديثه فقط عند جدولته ، وليس في كل مرة يتم فيها تقديم طلب من خلال لوحة معلومات Looker Studio.

أفكار

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

ما القنوات التي تدفع الاشتراكات؟

  1. لحساب هذا ، نظرنا إلى الطلبات الأولى التي قدمها العملاء ، باستخدام الحقل الذي أنشأناه في الجدول الرئيسي الذي يُرجع إما "الأول" أو "التكرار" بناءً على تاريخ الطلب الأول.
  2. باستخدام الأعمدة الإضافية لتجميع القنوات وحالة المشتركين داخل الجدول الرئيسي ، يمكننا إلقاء نظرة على الطلبات الأولى للأشخاص الذين أصبحوا مشتركين ، إما عند الشراء الأول أو إعادة الشراء ، والقناة المنسوبة إليهم في GA .
  3. بإزالة الخطوة للنظر إلى المشتركين فقط ، يمكننا أيضًا معرفة القنوات التي تؤدي في الغالب إلى عمليات الشراء الأولى.

مجموعات سلة تتجاوز GA ؛ ما هي السلات الأكثر رواجًا للمشتركين وغير المشتركين ، وما هي السلات الأكثر ربحًا؟

  1. باستخدام الدالة STRING_AGG ، تمكنا من دمج المنتجات المختلفة من طلبات فردية في صف واحد ، مفصولة بعلامة '| ". يؤدي هذا بشكل أساسي إلى إنشاء سلة لكل طلب.
  2. إلى جانب هذه المعلومات ، قمنا بتلخيص الإيرادات لكل عنصر من هذه العناصر كـ "سلة إجمالي" ، بهدف الحصول على صف لكل طلب مع جميع المعلومات ذات الصلة.
  3. بالطبع ، هناك الكثير من التباين بين المنتجات (النكهة والحجم وما إلى ذلك) لذلك أضفنا عمودًا جرد هذا التباين لإلقاء نظرة على مجموعات سلة المنتجات الأساسية.
  4. ثم استخدمنا "ROW_NUMBER () OVER (PARTITION BY Transaction_ID) AS معرّف" لتعيين قيم متسلسلة لكل طلب. تم استخدام هذا بعد ذلك كمرشح في لوحة المعلومات لعزل الصفوف الفردية التي لا تزال تحتوي على جميع المعلومات.

كم من الوقت وكم عدد عمليات الشراء التي يستغرقها في المتوسط ​​قبل أن يصبح المستخدم مشتركًا؟

  1. باستخدام الجدول الرئيسي الخاص بنا ، قمنا بسحب جميع معرفات العملاء التي عرفنا أنها كانت مشتركين وأخذنا تاريخ اشتراكهم الأول.
  2. ثم أخذنا الحد الأدنى لتاريخ الطلب واستخدمنا الدالة DATE_DIFF لحساب الفرق بين هذه التواريخ في "الأيام".
  3. تم سحب الخطوة الأخيرة في القناة ومتوسط ​​عدد الأيام قبل الاشتراك ، مما أدى إلى جدول يوضح متوسط ​​عدد الأيام قبل أن يصبح العملاء مشتركين عادةً.
  4. لحساب متوسط ​​عدد الطلبات التي قدمها العملاء قبل أن يصبحوا مشتركين ، قمنا ببساطة بتقسيم عدد معرّفات الطلبات الفريدة على عدد معرّفات العملاء الفريدة حيث كانوا "مشتركين" ولديهم تواريخ طلبات أقل من الحد الأدنى لتاريخ الاشتراك.

هذه فقط بعض الأمثلة على مستوى السطح للمشاهدات التي أنشأناها باستخدام هذه التقارير. مع البيانات ، هناك احتمالات لا حصر لها - تشمل الأمثلة الأخرى من هذا المشروع النظر إلى قيمة عمر العميل من وجهات نظر مختلفة وتقييم استخدام أكواد الخصم وتأثيرها على سلوك العملاء مدى الحياة. باستخدام هذه الأفكار ، يمكن استخدامها لتكملة قرارات العمل. على سبيل المثال ، مع العلم أن الأمر يتطلب 3 طلبات في المتوسط ​​قبل أن تصبح مشتركًا ، يمكنك البحث عن مشاركة العروض والحوافز التي تشجع العملاء على أن يصبحوا مشتركين بعد عمليتي شراء. يمكن بعد ذلك قياس نتائج هذا في وقت لاحق.

ملخص

توضح دراسة الحالة هذه إمكانية الحصول على رؤى قيمة للغاية تعتمد على البيانات والتي يمكن اكتسابها من خلال مزيج من مصادر البيانات المتعددة ، من GA إلى Shopify وما بعدها. بمجرد إنشاء هذه البنية التحتية ، يمكن صيانتها ديناميكيًا واستخدامها للإبلاغ عن العديد من الجوانب المختلفة للعمل.

إذا كانت الأسئلة التي أجابنا عليها في هذه المدونة مشابهة لتلك التي قد تكون مهتمًا بها في عملك الخاص ، فيمكنك الاتصال بنا عن طريق ملء نموذج الاتصال الخاص بنا.