Skip to content
AdlyseDocs
Product guideMCP reference
⌘K
Open Adlyse
⌘K
Overview
QuickstartAuthentication
adlyse-insights
list_ad_accountsget_dashboard_snapshotget_impact_analysisget_competitor_pressurelist_guidelinesget_brand_kitupdate_brand_kitsave_brand_assetget_guidelinelist_suggestionsget_suggestionget_strategy_sessionlist_strategy_claimslist_strategy_proposalsget_creative_insightslist_watched_competitorslist_competitor_adswatch_competitorunwatch_competitorlist_audit_eventslist_organic_propertiesget_organic_overviewget_organic_page_metricsinspect_pageget_organic_performanceget_site_inventorycheck_site_healthget_ai_visibilitylist_ai_visibility_answerslist_ai_visibility_promptsupsert_ai_visibility_promptsrun_ai_visibility_checksget_growth_evidencelist_site_connection_optionslist_site_key_eventssave_site_sourceremove_site_sourceresync_site_sourceupdate_growth_deliveryget_growth_deliveryget_geo_workspaceupdate_geo_workspace
adlyse-ads
adlyse-workflows
adlyse-admin
adlyse-all
  1. Overview
  2. adlyse-insights

get_organic_overview

Organic-search and AI-assistant-referral traffic for a site, from Adlyse’s persisted nightly Google Analytics snapshot. This is the other side of the ad platforms: sessions that arrived without a paid click, and the share of them sent by ChatGPT, Perplexity, Gemini, Copilot and Claude. Every figure carries its change against the prior window of the same length.

Names are GA4’s — sessions not clicks, key_events not conversions. Use it to check a platform’s click claim against arrivals, or to answer “where did the site’s traffic come from”; it never ties out exactly with any platform’s clicks.

Parameters#

NameTypeRequiredDefaultDescription
site_source_idstringnoSite source id from list_organic_properties. Omit for the primary site.
daysintegerno28Window length ending yesterday (max 365). The prior window gives the deltas

Returns#

json
{
  "status": "ok",
  "property": { "id": "oprop_abc123", "domain": "example.com", "site_url": "https://example.com" },
  "window": { "from": "2026-08-19", "to": "2026-09-15", "days": 28 },
  "totals": {
    "sessions": 18420,
    "sessions_change_pct": 4.2,
    "organic_sessions": 7210,
    "organic_sessions_change_pct": -3.1,
    "organic_share_pct": 39.1,
    "organic_key_events": 212.0,
    "key_events": 640.0,
    "ai_referral_sessions": 310,
    "ai_referral_sessions_change_pct": 41.0,
    "ai_referral_key_events": 19.0,
    "currency_code": "USD"
  },
  "by_channel": [
    { "channel": "Organic Search", "sessions": 7210, "engaged_sessions": 4980, "key_events": 212.0, "revenue": 8120.5, "prior_sessions": 7440, "sessions_change_pct": -3.1 }
  ],
  "ai_referrals": [
    { "engine": "chatgpt", "label": "ChatGPT", "sessions": 220, "engaged_sessions": 160, "key_events": 14.0, "revenue": 610.0, "hosts": ["chatgpt.com"], "prior_sessions": 150, "sessions_change_pct": 46.7 }
  ],
  "top_landing_pages": [
    { "landing_page": "/blog/best-running-shoes", "sessions": 980, "engaged_sessions": 700, "key_events": 31.0 }
  ],
  "shopify_attributed": {
    "attribution": "last",
    "order_count": 412,
    "by_source": [ { "source": "organic_search", "orders": 130, "order_total": 9120.0 } ],
    "definition": "…"
  },
  "rollups_as_of": "2026-09-15",
  "last_synced_at": "2026-09-16T03:41:12+00:00",
  "source": "adlyse.organic_snapshot@v1"
}

status is no_property when the organization has not connected Google Analytics, and no_data when the first snapshot has not run yet. Both are shaped like a normal response with empty lists, so they can be relayed as-is — never invent figures for them.

Errors#

error_typeWhen
auth_errorMissing / invalid API key
not_foundsite_source_id is not in your org
validation_errordays is not an integer
Previouslist_organic_propertiesNextget_organic_page_metrics