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#
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
site_source_id | string | no | Site source id from list_organic_properties. Omit for the primary site. | |
days | integer | no | 28 | Window length ending yesterday (max 365). The prior window gives the deltas |
Returns#
{
"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_type | When |
|---|---|
auth_error | Missing / invalid API key |
not_found | site_source_id is not in your org |
validation_error | days is not an integer |