Data Sources

Connecting Data Sources

Learn how to connect Google Analytics 4, Search Console, Google Ads, GitHub, and other platforms to AI Data Stream.

AI Data Stream connects to your analytics and marketing platforms so the AI can analyze your data in real-time. This guide covers each connection type.

Connection Overview

Data Source Free Pro Business Authentication
Google Analytics 4 Yes Yes Yes OAuth or Service Account
Google Search Console Yes Yes Yes OAuth or Service Account
PageSpeed Insights Yes Yes Yes None (public)
Core Web Vitals (CrUX) Yes Yes Yes None (public)
DataForSEO Backlinks Yes Yes Yes API login + password
Google Ads - Yes Yes Service Account
Google Tag Manager - Yes Yes OAuth or Service Account
LinkedIn Ads - Yes Yes OAuth
Meta Ads - Yes Yes OAuth
WordPress - Yes Yes Application Password
HubSpot - - Yes Private App Token
GitHub - Yes Yes OAuth / Personal Access Token
Pipedrive - - Yes API Key

All connections are read-only. We never modify your data.

Most Google connections support two authentication methods: Connect with Google (OAuth, the quickest way) or a service account - the recommended option for agencies and technical users, giving you precise control over which properties are shared and your own API quota. See Connecting Google with a Service Account for the full setup guide. The sections below describe the OAuth flow.

Google Ads is the exception: it connects by service account only. See Google Ads below for why.


Google Analytics 4

GA4 is the most common connection. It provides website traffic, user behavior, conversions, and ecommerce data.

Connecting GA4

  1. Go to your property and click Add Connection
  2. Select Google Analytics 4
  3. Click Connect with Google
  4. Sign in with your Google account (use the account that has GA4 access)
  5. Review the permissions and click Allow
  6. Select which GA4 properties to connect
  7. Click Add Connection to save

What We Access

  • Traffic metrics: Sessions, users, pageviews, bounce rate
  • Acquisition data: Traffic sources, campaigns, referrals
  • Behavior: Pages per session, avg. session duration
  • Conversions: Goals, events, ecommerce transactions
  • Demographics: Country, device, browser

Permissions Required

We request:

  • analytics.readonly - Read-only access to your Analytics data

We do NOT request write access.

Troubleshooting

“No properties found”

  • Ensure you’re signing in with the correct Google account
  • Check that your account has at least Viewer access to the GA4 property

“Access denied”

  • The account owner may need to grant you access in GA4 Admin → Property Access

Google Search Console

Search Console provides organic search data: clicks, impressions, keywords, and page rankings.

Connecting Search Console

  1. Go to your property and click Add Connection
  2. Select Google Search Console
  3. Click Connect with Google
  4. Authorize access
  5. Select which Search Console properties to connect

Property Types

Search Console has two property types:

  • Domain properties (e.g., example.com) - Includes all subdomains
  • URL-prefix properties (e.g., https://www.example.com/) - Specific URLs only

Both work with AI Data Stream. Choose whichever you have set up.

What We Access

  • Search performance: Clicks, impressions, CTR, average position
  • Query data: Keywords driving traffic
  • Page data: Which pages rank and get clicks
  • Device breakdown: Mobile, desktop, tablet performance

PageSpeed Insights

PageSpeed provides Core Web Vitals and performance scores from Google’s public Lighthouse data.

Getting Your API Key

The PageSpeed Insights API is free, with a limit of 25,000 requests per day. Create a key in the Google Cloud Console and enable the PageSpeed Insights API for that project.

Connecting PageSpeed

  1. Go to your property and click Add Connection
  2. Select PageSpeed Insights
  3. Enter the homepage URL of the site you want to analyze
  4. Paste your PageSpeed Insights API key
  5. Optionally set Allowed domains (see below)
  6. Click Connect

What We Access

  • Lighthouse scores: Performance, Accessibility, Best Practices, SEO
  • Core Web Vitals: LCP, INP, CLS
  • Performance metrics: Speed Index, Time to Interactive
  • Opportunities: Suggested improvements

Restricting Which URLs Can Be Tested

Allowed domains (optional) limits which URLs this connection can speed test. Enter a comma-separated list; each entry also covers its subdomains. Leave it empty to allow any URL, which is what you want for competitor benchmarking. When it is set, a test outside the list is refused before the request is made.


Core Web Vitals (CrUX)

Available on all plans, including Free. Core Web Vitals connects the Chrome UX Report (CrUX) — Google’s public record of how real Chrome users experience websites — as weekly trends covering roughly the last six months.

Because CrUX data is public, you can also track competitor sites: add up to five competitors and their lines appear next to yours in the dashboard widget.

Connecting Core Web Vitals

There’s no account to link and no API key to create:

  1. Go to your property and click Add Connection
  2. Select Core Web Vitals (CrUX)
  3. Confirm your website address
  4. Optionally add up to five competitor sites — you can also add and remove these later, directly from the dashboard widget
  5. Click Connect

What We Access

  • LCP (Largest Contentful Paint): How long until the main content is visible
  • INP (Interaction to Next Paint): How quickly the page responds to taps and clicks
  • CLS (Cumulative Layout Shift): How much the page shifts around while loading
  • TTFB (Time to First Byte): How fast the server starts responding

All values are 75th-percentile field data from real Chrome users, reported weekly per origin (your whole site as one number, not per page). The dashboard widget defaults to phone data — the device class Google Search cares about most — with desktop and all-devices views one click away, and tints each metric’s “good” zone green.

Good to Know

  • Small sites may show no data. CrUX only includes origins with enough Chrome traffic. That threshold is Google’s, not ours, and it applies to competitors too.
  • Any public site can be queried in chat. The AI’s web-vitals tool accepts any origin, not just your own site and configured competitors.
  • CrUX vs. PageSpeed Insights: CrUX shows what real users actually experienced, week by week — ideal for trends, monitoring, and competitor benchmarking. PageSpeed Insights runs an on-demand lab test of a single page — ideal for diagnosing why something is slow. They complement each other.

Available on all plans. Connect DataForSEO to give the AI an external view of your backlink profile — referring domains, anchor text, spam scores, and dofollow/nofollow ratios — pulled live from DataForSEO’s web-wide link index.

This is a bring-your-own-key integration: requests are billed to your own DataForSEO account, not to your AI Data Stream plan, and you set a row ceiling to keep costs under control.

Getting Your API Credentials

  1. Create an account at dataforseo.com
  2. In your DataForSEO dashboard, open the API Access tab
  3. Copy your API login (usually your email) and the auto-generated API password — note this is separate from your account password

Connecting DataForSEO

  1. Go to your property and click Add Connection
  2. Select DataForSEO
  3. Enter your API login and API password
  4. Set Max rows per request (default 1000)
  5. Click Connect — we verify your credentials with a free API call

What We Access

  • Backlink summary: Total backlinks, referring domains, spam score, rank, and dofollow/nofollow split for a domain or URL
  • Backlinks list: Individual backlinks with source page, anchor text, dofollow status, spam score, and first/last seen dates
  • Referring domains: The domains linking to you, ranked by backlink count, each with its own rank and spam score
  • Anchors: The anchor text distribution across your backlink profile

Controlling Costs

Every query runs live against DataForSEO’s API and is billed to your DataForSEO balance. There are two guards on the connection:

  • Max rows per request (default 1000) is a hard ceiling on how many rows any single request can pull, regardless of what the AI asks for. Individual tool calls default to a conservative 100 rows. Lower the ceiling to reduce API cost, and raise it only when you need deeper data.
  • Allowed domains (optional) restricts which domains can be looked up. Enter a comma-separated list; each entry also covers its subdomains. Leave it empty to allow any domain, which is what you want for competitor analysis. When it is set, a lookup outside the list is refused before any billable call is made.

Available on Pro and Business plans. Connect your Google Ads account to analyze campaign performance.

Connecting Google Ads

Google Ads connects the same way as Google Analytics: click Connect with Google, sign in with a Google account that has access to the ad account, and pick the account from the list. There is no developer token to obtain and nothing to apply for.

Changed in September 2026. Until 9 September 2026 every Google Ads API call needed a developer token that each customer had to apply for through a manager account, and a Google rule pairing Cloud projects to tokens left service accounts as the only way to connect. Google has since retired developer tokens: API access now follows the application making the request, and AI Data Stream’s is approved. Existing connections keep working unchanged, and any token you entered previously is simply no longer read.

  1. Go to your property and click Add Connection
  2. Select Google Ads
  3. Click Connect with Google and sign in with an account that has at least Read only access to the ad account
  4. Pick your account from the list we fetch
  5. Click Add Connection to save

Manager accounts are deliberately left out of the list: the Google Ads API can’t run reports against them, only against the ad accounts beneath them. Sub-accounts reached through a manager do appear, as long as the account you signed in with can access them. If no accounts can be listed, a manual customer ID field appears instead (123-456-7890, shown in the top right of the Google Ads interface).

Prefer a service account? Agencies and technical users can connect with a service account instead, exactly as for the other Google services: paste the JSON key and pick the account. One thing to know: with a service account, Google Ads API access follows your Google Cloud project rather than ours, so that project needs Basic access to the Google Ads API (Cloud Console → Google Ads API → Overview). A project that has never used the Google Ads API only has test access and won’t see live campaigns. Connecting with Google avoids this entirely.

What We Access

  • Campaign performance: Impressions, clicks, conversions, cost
  • Ad group data: Performance by ad group
  • Keyword data: Search terms, Quality Score
  • Conversion tracking: Goals and values
  • Budget and spend: Current spend vs budget

Google Tag Manager

Available on Pro and Business plans. Connect Google Tag Manager to let the AI inspect how your tracking is configured - tags, triggers, variables, and unpublished workspace changes.

Connecting Google Tag Manager

  1. Go to your property and click Add Connection
  2. Select Google Tag Manager
  3. Click Connect with Google
  4. Sign in with the Google account that has access to your container
  5. Select the container to connect
  6. Click Add Connection to save

Access uses Google’s read-only Tag Manager scope. We never modify or publish your container.

What We Access

  • Containers: Your GTM accounts and their containers
  • Tags: Tag types, firing and blocking triggers, paused state
  • Triggers: Trigger types and firing conditions
  • Variables: Built-in and user-defined variables
  • Entity detail: The full configuration of a single tag, trigger, or variable
  • Workspace status: Unpublished changes compared to the live container version

Tool Configuration

Each Tag Manager tool can be individually enabled or disabled in your connection settings.

Use Cases

Google Tag Manager pairs naturally with GA4 - one shows how tracking is configured, the other shows what data arrives:

  • Container audits: “Are any tags paused, orphaned, or duplicated?”
  • Conversion debugging: “The purchase event stopped counting - is the tag configured and firing?”
  • Consent checks: “Is Consent Mode wired up on all marketing tags?”
  • Workspace drift: “Are there unpublished changes that never went live?”

The GTM Container Audit, GTM Change Monitor, and Conversion Tracking Debugger skills in the catalog build on this connection.


LinkedIn Ads

Available on Pro and Business plans. Connect LinkedIn Ads to analyze your B2B campaign performance — including LinkedIn’s unique professional demographics: which job functions, seniorities, industries, and companies your ads actually reach.

Connecting LinkedIn Ads

  1. Go to your property and click Add Connection
  2. Select LinkedIn Ads
  3. Click Sign in with LinkedIn
  4. Sign in with the LinkedIn account that has access to your ad account (Viewer role or higher in Campaign Manager)
  5. Select the ad account to connect
  6. Click Add Connection to save

Access is read-only. We never create or modify campaigns.

What We Access

  • Campaigns: Names, status, objectives, spend, impressions, clicks, conversions, and leads
  • Trends: Daily and monthly performance over time
  • Audience demographics: Performance by job title, job function, seniority, industry, company, company size, and location
  • Ads: Per-creative performance with the parent campaign

Good to Know

  • Native lead forms vs website conversions: LinkedIn Lead Gen Form leads happen on LinkedIn itself and never appear in your website analytics. The AI reports them separately from Insight Tag website conversions.
  • Demographics are approximate: LinkedIn reports only the top segments and hides very small ones to protect member privacy, so demographic rows won’t add up to campaign totals — they’re directional insight, not accounting.

Use Cases

  • B2B audience truth: “Which job functions and seniorities actually click our ads?”
  • Spend efficiency: “Which campaigns spent money without producing a single lead last month?”
  • Cross-channel comparison: “Compare LinkedIn Ads and Google Ads cost per conversion this quarter”
  • Attribution reality check: “Do LinkedIn’s reported conversions match what GA4 saw?”

The LinkedIn Ads Account Audit, LinkedIn B2B Audience Insights, and LinkedIn Lead Attribution Check skills in the catalog build on this connection.


Meta Ads

Available on Pro and Business plans. Connect Meta Ads to analyze your Facebook and Instagram campaign performance — spend, results, audiences, placements, and individual creatives.

Connecting Meta Ads

  1. Go to your property and click Add Connection
  2. Select Meta Ads
  3. Click Sign in with Facebook
  4. Sign in with the Facebook account that has access to your ad account
  5. Select the ad account to connect
  6. Click Add Connection to save

Access is read-only. We never create or modify campaigns. Meta access tokens last about 60 days and are renewed automatically while you keep using the connection — if one does expire, use the Reconnect button to sign in again.

What We Access

  • Campaigns: Names, objectives, spend, impressions, clicks, CTR, CPC, CPM, reach, frequency, and conversions
  • Trends: Daily, weekly, and monthly performance over time
  • Audience breakdowns: Performance by age, gender, country, region, platform (Facebook vs Instagram), placement, and device
  • Ads: Per-ad-set and per-creative performance with the parent campaign

Good to Know

  • Lead forms vs website leads: Meta’s headline “lead” number blends Instant Form leads (captured on Facebook/Instagram itself) with website pixel leads. The AI reads the underlying breakdown and reports them separately — native form leads never appear in your website analytics.
  • Modeled and view-through conversions: Meta’s pixel counts include modeled conversions (iOS privacy opt-outs) and people who merely saw an ad before converting, so they typically exceed what GA4 records. When both are connected, the AI treats GA4 as the verification baseline and explains the gap instead of silently picking a number.

Use Cases

  • Platform split: “How does Instagram compare to Facebook for us — and is Audience Network earning its spend?”
  • Creative testing: “Which ads are fatiguing, and which campaigns are running on a single creative?”
  • Attribution reality check: “How many of the leads Meta claims can GA4 actually verify?”
  • Cross-channel comparison: “Compare Meta Ads and Google Ads cost per verified conversion this quarter”

The Meta Ads Account Audit, Meta Tracking Health Check, Meta Lead Attribution Check, and Meta vs Google Ads Channel Mix skills in the catalog build on this connection.


WordPress

Available on Pro and Business plans. Connect WordPress to include content data in your analysis.

Connecting WordPress

Works with any WordPress site running version 5.6 or later (Application Passwords are built-in).

  1. Go to your property and click Add Connection
  2. Select WordPress
  3. Enter your WordPress site URL
  4. Generate an Application Password in WordPress:
    • Go to WordPress Admin → Users → Your Profile
    • Scroll to “Application Passwords”
    • Enter “AI Data Stream” as the application name
    • Click “Add New Application Password”
    • Copy the password (you won’t see it again)
  5. Enter your WordPress username and paste the Application Password
  6. Click Connect

What We Access

  • Content: Posts, pages, custom post types
  • Categories and tags: Content organization
  • Authors: Who published what
  • Dates: Published and modified dates

GitHub

Available on Pro and Business plans. Connect a GitHub repository to correlate code changes, deployments, and releases with your analytics data.

Authentication Options

GitHub supports two authentication methods:

Option A: OAuth (recommended)

  1. Go to your property and click Add Connection
  2. Select GitHub
  3. Click Connect with GitHub
  4. Authorize AI Data Stream to access your repositories
  5. Enter the repository owner and name
  6. Click Add Connection to save

Option B: Personal Access Token

  1. Go to github.com/settings/tokens
  2. Click Generate new token (classic)
  3. Name it “AI Data Stream”
  4. Select the repo scope
  5. Click Generate token and copy it
  6. In AI Data Stream, select GitHub and choose Personal Access Token
  7. Paste the token, enter the repository owner and name
  8. Click Connect

What We Access

  • Repository overview: Language, stars, forks, visibility, license, topics
  • Releases: Tag names, publication dates, release notes
  • Recent commits: Commit messages, authors, dates (filterable by branch, date range, or author)
  • Commit activity: Weekly commit frequency for the last 52 weeks
  • Deployments: Production/staging deployments with status and environment
  • Issues: Open/closed issues with labels, assignees, timestamps
  • Pull requests: Merged/open/closed PRs with branch info, merge dates, and labels

Tool Configuration

Each GitHub tool can be individually enabled or disabled in your connection settings. The repository overview is always available; the other six tools (releases, commits, commit activity, deployments, issues, pull requests) can be toggled based on what you need.

Use Cases

GitHub is particularly powerful when combined with analytics data:

  • Deployment correlation: “Did the traffic drop coincide with a deployment?”
  • Release impact: “How did traffic change after the v2.0 release?”
  • Bug tracking: “Are there open issues that could explain the conversion decrease?”
  • Development velocity: “How does our commit frequency trend compare to traffic growth?”

HubSpot

Available on Business plans. Connect HubSpot CRM to analyze deals, contacts, and pipeline health.

Creating a Private App Token

  1. Log in to your HubSpot account
  2. Go to Settings → Integrations → Private Apps
  3. Click Create a private app
  4. Name it “AI Data Stream”
  5. Under Scopes, grant read access to: CRM (contacts, companies, deals), Sales (activities, pipelines)
  6. Click Create app
  7. Copy the access token

Connecting HubSpot

  1. Go to your property and click Add Connection
  2. Select HubSpot
  3. Paste your Private App access token
  4. Click Connect

What We Access

  • Deals: Pipeline, stages, values, close dates
  • Contacts: Lead sources, lifecycle stages
  • Companies: Associated deals and contacts
  • Activities: Tasks, calls, emails logged
  • Pipeline metrics: Win rates, deal velocity

Pipedrive

Available on Business plans. Connect Pipedrive to analyze your sales pipeline and activities.

Connecting Pipedrive

  1. Go to your property and click Add Connection
  2. Select Pipedrive
  3. Enter your Pipedrive API token:
    • In Pipedrive: Settings → Personal preferences → API
    • Copy your personal API token
  4. Paste the token in AI Data Stream
  5. Click Connect

What We Access

  • Deals: Pipeline stages, values, probabilities
  • Activities: Calls, meetings, tasks
  • Persons and organizations: Contact data
  • Pipeline health: Conversion rates, deal aging
  • Products: If using Pipedrive products

Managing Connections

Viewing Connection Status

Each connection shows:

  • Active/Inactive toggle
  • Last synced timestamp
  • Error status if there are issues

Refreshing Connections

Data is queried in real-time, but if you need to refresh OAuth tokens:

  1. Go to your property’s Connections tab
  2. Click the connection you want to refresh
  3. Click Reconnect to re-authenticate

Removing Connections

  1. Go to Connections
  2. Click the connection to remove
  3. Click Delete Connection
  4. Confirm the removal

This doesn’t affect your data in the original platform.

Connection Settings

Each connection has settings that control how it appears in the app:

Show on Dashboard

  • Toggle whether this connection’s widgets appear on your property dashboard
  • Useful for hiding connections you don’t need to monitor daily

Show in Chat

  • Toggle whether this connection is enabled by default in AI Chat
  • When disabled, the AI won’t query this data source unless you manually enable it in a conversation
  • Helps reduce context and focus on specific data sources
  • You can always override these defaults within individual conversations

To change these settings:

  1. Go to your property’s Connections tab
  2. Find the connection you want to configure
  3. Click the dashboard icon (📊) to toggle dashboard visibility
  4. Click the chat icon (💬) to toggle chat visibility
  5. Or click Edit for more options

Troubleshooting

OAuth Errors

“Access token expired”

  • Click Reconnect to re-authenticate

“Insufficient permissions”

  • Ensure your account has the required access level
  • For GA4/GSC: At least Viewer role
  • For Google Ads: the service account needs Read only or above on the ad account

Connection Timeouts

“Connection timed out”

  • Large data sets may take longer
  • Try asking for a shorter date range

Data Not Appearing

“No data found”

  • Check that the date range has data
  • Verify the correct property is connected
  • For new connections, wait a few minutes for initial sync

Rate Limits

“Rate limit exceeded”

  • Too many requests to the platform
  • Wait a few minutes and try again
  • Consider combining queries

Next Steps