أحمد حايس
الرئيسيةمن أناالدوراتالمدونةالعروض
أحمد حايس

دورات عربية متخصصة في التقنية والبرمجة والذكاء الاصطناعي.

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

تعلم أسرعوصول مباشر للدورات والمسارات من الموبايل.
تنقل أوضحالروابط الأساسية والدعم في مكان واحد بدون تشتيت.

المنصة

  • الرئيسية
  • من أنا
  • الدورات
  • العروض
  • المدونة

الدعم

  • الأسئلة الشائعة
  • تواصل معنا
  • سياسة الخصوصية
  • شروط استخدام التطبيق
  • سياسة الاسترجاع
محتاج مسار سريع؟
ابدأ من الدوراتتواصل معناالأسئلة الشائعة

© 2026 أحمد حايس. جميع الحقوق محفوظة.

الرئيسيةالدوراتالعروضالمدونةالدخول

أتمتة تقارير GA4 الأسبوعية إلى Slack بـ n8n — workflow كامل

📅 ٢٠ أبريل ٢٠٢٦⏱ 4 دقائق قراءة
أتمتة تقارير GA4 الأسبوعية إلى Slack بـ n8n — workflow كامل

أتمتة تقارير GA4 الأسبوعية إلى Slack بـ n8n

لو في الفريق عندك حد بيفتح Google Analytics كل اثنين الصبح ويعمل screenshot للأرقام ويبعتها على Slack، الـ workflow اللي هنا هيوفرلك الوقت ده بالكامل، ومجانًا لو بتشغّل n8n على VPS بتاعك.

المشكلة باختصار

التقارير الأسبوعية من GA4 بتتعمل يدوي في أغلب الشركات الصغيرة والمتوسطة. الموظف بيفتح الـ dashboard، بياخد القيم بعينه، بيكتبها في رسالة Slack. بياخد 15 دقيقة كل أسبوع، بيتنسي في الإجازات، وبيكون فيه أخطاء نقل. القيمة هنا مش توفير الـ 15 دقيقة بس، القيمة إن الأرقام بتوصل للفريق في نفس الوقت كل أسبوع بدون اعتماد على شخص.

لوحة تحكم تعرض مقاييس جوجل أناليتكس 4 وبيانات زيارات الموقع على شاشة كمبيوتر محمول

ليه n8n بالظبط مش Zapier أو Make

n8n مجاني لو self-hosted، والـ workflow ده بيتنفّذ 4 مرات في الشهر فقط. Zapier هيكلّفك 19.99 دولار شهريًا على الأقل لنفس الـ workflow لأنه بيحسب كل HTTP request كـ task. Make أرخص (9 دولار) لكن الـ self-hosting على VPS بـ 5 دولار (Hetzner CX11 مثلاً) بيديك باقي موارد لـ workflows تانية بدون تكلفة إضافية.

الافتراض هنا: عندك VPS صغير شغّال أو بتقدر تشغّل Docker على سيرفر قائم. لو مش عندك، استخدم n8n Cloud بـ 20 يورو شهريًا، أو اختار Make لو مش محتاج مرونة كبيرة في الـ transformations.

الخطوات التنفيذية

  1. من Google Cloud Console، فعّل Google Analytics Data API في المشروع اللي مربوط بـ GA4.
  2. اعمل service account جديد، ونزّل ملف الـ JSON key.
  3. من GA4 Admin → Property Access Management، ضيف email الـ service account بصلاحية Viewer.
  4. شغّل n8n عبر docker-compose (الكود تحت) ورفع الـ JSON key كـ credential من نوع Google Service Account.
  5. ابنِ workflow من 3 nodes: Schedule Trigger → HTTP Request (GA4) → Slack.
  6. اعمل test run، ثم فعّل الـ workflow.

docker-compose لـ n8n

YAML
version: "3.8"
services:
  n8n:
    image: n8nio/n8n:latest
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=n8n.example.com
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://n8n.example.com
      - GENERIC_TIMEZONE=Africa/Cairo
      - N8N_ENCRYPTION_KEY=change-me-to-random-32-chars
    volumes:
      - ./n8n_data:/home/node/.n8n

طلب GA4 Data API

المثال ده بيرجع المقاييس الأساسية لآخر 7 أيام: مستخدمين نشطين، جلسات، مشاهدات صفحات، ومتوسط مدة الجلسة.

JSON
POST https://analyticsdata.googleapis.com/v1beta/properties/{PROPERTY_ID}:runReport
Authorization: Bearer {ACCESS_TOKEN}

{
  "dateRanges": [{"startDate": "7daysAgo", "endDate": "yesterday"}],
  "metrics": [
    {"name": "activeUsers"},
    {"name": "sessions"},
    {"name": "screenPageViews"},
    {"name": "averageSessionDuration"}
  ]
}

رسالة Slack بتنسيق Block Kit

JSON
{
  "channel": "#growth",
  "blocks": [
    {"type": "header", "text": {"type": "plain_text", "text": "تقرير GA4 الأسبوعي"}},
    {"type": "section", "fields": [
      {"type": "mrkdwn", "text": "*المستخدمون النشطون*\n{{ $json.activeUsers }}"},
      {"type": "mrkdwn", "text": "*الجلسات*\n{{ $json.sessions }}"},
      {"type": "mrkdwn", "text": "*مشاهدات الصفحات*\n{{ $json.screenPageViews }}"},
      {"type": "mrkdwn", "text": "*متوسط مدة الجلسة*\n{{ $json.avgDuration }} ث"}
    ]}
  ]
}

رسوم بيانية وتقارير تحليلية معروضة على شاشة لابتوب تمثل ملخص التقارير الأسبوعية المرسلة إلى Slack

Trade-offs لازم تعرفها

GA4 Data API عنده quota بـ 25,000 tokens يوميًا لكل property في الـ free tier، وكل runReport بسيط بياخد 10 tokens تقريبًا. يعني الـ workflow ده استهلاكه أقل من 0.04% من الـ quota. مفيش قلق هنا. بالظبط المشكلة بتيجي لو بتضيف كذا dimension و pivot وبتشغّل كذا report في التنفيذ الواحد.

الـ trade-off الحقيقي: البيانات في GA4 Data API فيها sampling لو الـ property بتاعتك بتعمل أكثر من 10 مليون event شهريًا. لو موقعك بالحجم ده، استخدم BigQuery Export المجاني من GA4 بدل الـ Data API، والـ query بيبقى دقيق 100%.

متى لا تستخدم هذه الطريقة

لو الفريق أقل من 3 أشخاص والأرقام مش بتتحول لقرارات أسبوعية، الأتمتة هنا هتبقى overhead مش مكسب. كل workflow بتعمله هتضطر تصونه (تحديثات n8n، انتهاء Slack tokens، تغييرات GA4 Data API). كمان لو محتاج مقاييس متقدمة زي funnels أو cohort analysis أو attribution، n8n هيبقى محدود — استخدم Looker Studio مع scheduled email PDF، أو اربط GA4 مع BigQuery و ابني dashboard مخصص.

الخطوة التالية

افتح GA4 Admin دلوقتي، روح على Property Settings، وانسخ الـ Property ID (رقم من 9 أرقام). بعدين من Google Cloud Console اعمل service account جديد في المشروع. خلال 10 دقايق هتكون جاهز تبدأ بناء الـ workflow في n8n. لو واجهتك مشكلة صلاحيات، اتأكد إن email الـ service account مضاف على مستوى الـ Property في GA4، مش على مستوى الـ Account.

المصادر

  • Google Analytics Data API v1 — Reference: developers.google.com/analytics/devguides/reporting/data/v1
  • GA4 Data API Quotas & Limits: developers.google.com/analytics/devguides/reporting/data/v1/quotas
  • n8n Docker Installation Docs: docs.n8n.io/hosting/installation/docker
  • Slack Block Kit Builder: api.slack.com/block-kit
  • GA4 BigQuery Export Docs: support.google.com/analytics/answer/9358801

هل استفدت من المقال؟

اطّلع على المزيد من المقالات والدروس المجانية من نفس المسار المعرفي.

تصفّح المدونة