İçeriğe atla
OrqLabs

Analitik (Analytics) node'ları

Google Analytics report, Search Console queries, KPI threshold check ve Record custom stat node'larının parametreleri ve örnekleri.

10 dk Son güncelleme:
Bu sayfada
  1. Kısaca
  2. Teknik ayrıntılar
  3. Google Analytics report (analytics.ga4Report)
  4. Search Console queries (analytics.searchConsole)
  5. KPI threshold check (analytics.kpiCheck)
  6. Record custom stat (analytics.recordStat)
  7. İpuçları ve sınırlar
  8. Sık sorulan sorular
  9. Sonraki adım

Bu rehberde: Google Analytics ve Search Console verisini iş akışına çeken, bir sayıyı eşikle karşılaştıran ve kendi metriğinizi kaydeden kutuları öğrenirsiniz.

⏱ 10 dakika

Kısaca

Analitik kutuları ölçüm verisini iş akışına taşır. Örneğin: "oturumlar geçen haftaya göre %20 düştüyse bana haber ver". Analytics Strategist aynı veriyi okur; bu kutular kuralları sizin belirlediğiniz kontroller içindir.

Geri besleme döngüsü: ölç, açıkla, stratejiyi güncelle, ajanlar uyar.
Geri besleme döngüsü: ölç, açıkla, stratejiyi güncelle, ajanlar uyar.
Analitik sayfası: ① GA4 bölümü, ② sosyal medya, ③ istatistik gezgini.
Analitik sayfası: ① GA4 bölümü, ② sosyal medya, ③ istatistik gezgini.

Teknik ayrıntılar

Analitik node'ları ölçüm verisini iş akışına taşır: GA4 raporları, Search Console sorguları, eşik kontrolleri ve özel metrik yazımı. Analytics Strategist ajanı aynı veriyi araçlarla okur; bu node'lar veriyi deterministik biçimde çekmek, koşullu dallanmak ve kendi metriklerinizi kaydetmek için kullanılır.

NodeTipGirdiÇıktı handle'larıEntegrasyonModel
Google Analytics reportanalytics.ga4Report1mainGOOGLE_ANALYTICS–
Search Console queriesanalytics.searchConsole1mainGOOGLE_SEARCH_CONSOLE–
KPI threshold checkanalytics.kpiCheck1above, below––
Record custom statanalytics.recordStat1main––

Google Analytics report (analytics.ga4Report)

GA4 Data API runReport çağrısı yapar (metrik × boyut × tarih aralığı). Hesap seçimi: iş akışının projesine bağlı GA4 entegrasyonu (mülk id'si entegrasyonda saklıdır).

AnahtarEtiketTürZorunluVarsayılanNotlar
metricsMetricslistHayır["sessions", "totalUsers", "conversions", "engagementRate"]GA4 API metrik adları: sessions, totalUsers, newUsers, screenPageViews, engagedSessions, engagementRate, averageSessionDuration, bounceRate, conversions, keyEvents, eventCount, totalRevenue
dimensionsDimensionslistHayır["date", "sessionDefaultChannelGroup"]date, sessionDefaultChannelGroup, sessionSource, sessionMedium, sessionCampaignName, landingPage, pagePath, country, deviceCategory, city
dateRangeDate rangeselectHayırlast_28_dayslast_7_days, last_28_days, last_90_days, custom
startDateStart (YYYY-MM-DD)stringHayır–Yalnızca dateRange = custom
endDateEnd (YYYY-MM-DD)stringHayır–Yalnızca dateRange = custom; ifade kullanılabilir ({{ $today }})
limitRow limitnumberHayır500En fazla 10.000

Çıktı: tek item:

{
  "property": "properties/123456789",
  "dateRange": { "startDate": "2026-09-18", "endDate": "2026-09-24" },
  "metrics": ["sessions", "totalUsers", "conversions", "engagementRate"],
  "dimensions": ["date", "sessionDefaultChannelGroup"],
  "rows": [
    { "date": "20260918", "sessionDefaultChannelGroup": "Organic Social", "sessions": 412, "totalUsers": 380, "conversions": 9, "engagementRate": 0.61 }
  ],
  "totals": { "sessions": 3120, "totalUsers": 2790, "conversions": 71, "engagementRate": 0.58 },
  "rowCount": 42
}

Satırları ayrı item yapmak için data.code: return items[0].json.rows.map(r => ({ json: r }));.

Örnek 1 – haftalık kanal karşılaştırması (şablon): dateRange last_7_days, metrics [sessions, totalUsers, conversions, engagementRate], dimensions [date, sessionDefaultChannelGroup] → logic.merge → agent.analyticsStrategist.

Örnek 2 – kampanya raporu: dateRange custom, startDate {{ $vars.campaignStart }}, endDate {{ $today }}, metrics [sessions, conversions, totalRevenue], dimensions [sessionCampaignName, sessionSource] → ai.generate (prompt "Bu GA4 verisini pazarlama ekibi için 5 maddede yorumla: {{ JSON.stringify($json.rows) }}") → utility.report.

GA4 verisi 24-48 saat gecikmeli olabilir; "bugün" sorguları eksik döner. Kotalar: mülk başına günlük token, eşzamanlı 10 istek; sık çalışan akışlarda dateRange daraltın.

Search Console queries (analytics.searchConsole)

Search Analytics API ile tıklama, gösterim, CTR ve ortalama pozisyon getirir. Her satır ayrı item.

AnahtarEtiketTürZorunluVarsayılanNotlar
daysLook back (days)numberHayır28Search Console verisi 2-3 gün gecikmelidir; aralık otomatik geriye kaydırılır
dimensionDimensionselectHayırqueryquery, page, country, device
limitRowsnumberHayır200En fazla 25.000

Çıktı item'ı: { dimension: "query", key: "filtre kahve nasıl yapılır", clicks: 84, impressions: 3120, ctr: 0.027, position: 8.4, siteUrl: "sc-domain:ornek.com" }.

Örnek – düşük CTR'li yüksek gösterim fırsatları:

trigger.schedule (0 8 1 * *) → analytics.searchConsole (days 28, dimension query, limit 500)
→ logic.filter ({{ $json.impressions > 1000 && $json.ctr < 0.02 && $json.position <= 15 }})
→ logic.limit (count 20)
→ agent.contentCreator (task "Şu sorgu için başlık/meta açıklama alternatifleri ve bir LinkedIn gönderisi yaz: {{ $json.key }}", platforms [LINKEDIN])

KPI threshold check (analytics.kpiCheck)

Bir istatistik metriğini eşikle karşılaştırır ve item'ları above ya da below handle'ına yönlendirir. Veri StatDaily toplamlarından gelir (GA4 senkronizasyonu, yayın kuyruğu, lead servisi vb.); harici API çağrısı yapmaz.

AnahtarEtiketTürZorunluVarsayılanNotlar
metricMetricstringEvetga.sessionsSTAT_METRICS anahtarlarından biri veya custom.*
periodPeriod (days)numberHayır7Son N günün toplamı (oran metriklerinde ortalama)
thresholdThresholdnumberEvet–absolute modunda değer, change modunda yüzde (-20 = %20 düşüş)
compareCompare toselectHayırabsoluteabsolute: toplam ≥ eşik → above; change: önceki eşit döneme göre % değişim ≥ eşik → above

Geçerli metrik anahtarları:

GrupAnahtarlar
İş akışı / ajanworkflow.runs, workflow.runs.succeeded, workflow.runs.failed, agent.runs, agent.runs.failed, llm.input_tokens, llm.output_tokens, llm.cost_usd
İçerikcontent.posts.created, content.posts.published, content.posts.failed, social.impressions, social.engagements, social.followers, social.clicks
Mesajlaşmamessages.inbound, messages.outbound, messages.bot_replies, conversations.opened, conversations.handoffs, conversations.resolved_by_bot
Leadleads.created, leads.qualified, leads.contacted, leads.replied, leads.converted
Kampanyacampaign.sent, campaign.delivered, campaign.read, campaign.replied
GA4ga.sessions, ga.users, ga.new_users, ga.pageviews, ga.engaged_sessions, ga.conversions, ga.avg_session_duration, ga.bounce_rate

Çıktı: gelen item'lar + kpi: { metric, period, value, previousValue, changePct, threshold, compare, result: "above" | "below" }.

Örnek 1 – trafik düşüşünde uyarı:

trigger.schedule (0 9 * * *) → analytics.kpiCheck (metric ga.sessions, period 7, threshold -20, compare change)
  below → utility.notify (title "Haftalık oturumlar %{{ Math.abs($json.kpi.changePct) }} düştü", channels [inapp, slack])
        → agent.analyticsStrategist (task "Oturum düşüşünün nedenini bul ve 3 aksiyon öner", period last_7_days)
  above → utility.noop

Örnek 2 – bot çözüm oranı hedefi: metric conversations.resolved_by_bot, period 7, threshold 100, compare absolute → below → utility.notify ("Bot bu hafta 100'den az konuşma çözdü; bilgi bankasını gözden geçirin").

Anlık (olay bazlı) eşikler için trigger.event (analytics.threshold) da kullanılabilir; bu olay günlük senkronizasyon sonrası Ayarlar → Analitik eşiklerinde tanımlı kurallardan üretilir.

Record custom stat (analytics.recordStat)

Kendi metriğinizi istatistik sistemine yazar; İstatistik gezgini, Kontrol Paneli ve analytics.kpiCheck tarafından kullanılabilir.

AnahtarEtiketTürZorunluVarsayılanNotlar
metricMetric keystringEvet–custom. ile başlamalı, küçük harf ve nokta/alt çizgi: custom.signups, custom.demo_requests
valueValueexpressionEvet{{ $json.value }}Sayı; aynı gün/aynı boyutlar için toplanır
dimsDimensions (JSON)jsonHayır–Kırılım: { "platform": "{{ $json.platform }}", "campaign": "{{ $vars.campaignName }}" }

Çıktı: gelen item'lar değişmeden geçer (recorded: true eklenir). Değerler günlük stats-rollup ile StatDaily'ye toplanır; İstatistik gezgininde groupBy ile boyut kırılımı yapılabilir.

Örnek – webhook'tan gelen satışları say:

trigger.webhook (POST) → analytics.recordStat
  metric: custom.orders
  value: 1
  dims: { "source": "{{ $json.body.utm_source ?? "direct" }}" }
→ analytics.recordStat
  metric: custom.revenue_try
  value: {{ Number($json.body.total) }}

Sonra analytics.kpiCheck (metric custom.orders, period 1, threshold 10) ile günlük hedef kontrolü.

İpuçları ve sınırlar

  • analytics.ga4Report ve analytics.searchConsole çalıştırma başına sağlayıcı kotası harcar; saatlik akışlarda önbelleklenmiş StatDaily verisini (analytics.kpiCheck) tercih edin.
  • GA4 ve Search Console entegrasyonları proje kapsamlıdır; iş akışı doğru projede olmalıdır.
  • Metrik adları GA4 API adlarıdır (UI adları değil): "Views" → screenPageViews, "Key events" → keyEvents/conversions.
  • Tarih boyutu date YYYYMMDD biçiminde gelir; $date ile dönüştürün.
  • custom.* metrikleri plan knowledgeDocs gibi limitlere tabi değildir ancak günlük 100 farklı özel metrik anahtarı ile sınırlıdır.

Sık sorulan sorular

Her saat GA4 raporu çekebilir miyim? Kotayı hızla tüketir. Sık kontroller için KPI kontrolü kutusunu kullanın; o, günlük toplamları okur ve GA4'e istek atmaz.

"Bugün" verisi neden eksik? GA4 verisi 24-48 saat, Search Console 2-3 gün gecikmelidir.

Kendi satış verimi ekleyebilir miyim? Evet, Özel metrik kaydet kutusuyla custom.orders gibi metrikler yazarsınız.

Sonraki adım

OrqLabs ile başlayın

İlk iş akışınızı bugün kurun

Ücretsiz planla başlayın: hesaplarınızı bağlayın, bir şablon seçin, onay adımlarıyla kontrol sizde kalsın. Kredi kartı gerekmez.