Stripe | Financial Infrastructure to Grow Your Revenue

Stripe | Financial Infrastructure to Grow Your Revenue

4466 articles

Query connected account data


Public preview

Query connected account data Public preview

Access structured attributes about your connected accounts, including onboarding milestones, activation dates, account configuration, and connection status.

The connect_merchants table includes data for all v1 Accounts and all v2 Accounts that have the merchant configuration.

Learn more about the features for Connect analytical data.

Before you begin

Review the table details before you get started:

DetailValue
Table nameconnect_merchants
Schema structureWide (one row per connected account)
GrainOne row per connected_account_merchant_id
Date coverageAll active and inactive (disconnected) connections for all platforms
FreshnessApproximately T-1 day

Caution

Some onboarding milestones have limited historical coverage. For records before a coverage start, NULL means that Stripe didn’t capture the historical event. When comparing multiple milestones, limit the cohort to the latest applicable coverage start.

ColumnDate that data is available from
completed_onboarding_atMay 2025
capabilities_fully_enabled_atDecember 2025
last_visited_onboarding_step_atApril 2026

Get started with the data

The following query lists connected accounts for your platform with their configuration, country, and derived onboarding status. Because the status compares completed_onboarding_at and capabilities_fully_enabled_at, the query limits the onboarding cohort to December 2025 and later.

SELECT
 connected_account_merchant_id,
 identity__connected_account_merchant_country,
 identity__legal_entity_type,
 capability_summary_status,
 is_active_connection,
 connected_at,
 started_onboarding_at,
 completed_onboarding_at,
 capabilities_fully_enabled_at,
 CASE
 WHEN capabilities_fully_enabled_at IS NOT NULL THEN 'ENABLED'
 WHEN completed_onboarding_at IS NOT NULL THEN 'COMPLETED_NOT_ENABLED'
 WHEN started_onboarding_at IS NOT NULL THEN 'STARTED_NOT_COMPLETED'
 ELSE 'NOT_STARTED'
 END AS onboarding_status
FROM connect_merchants
-- Use the latest coverage start for the milestones compared above.
WHERE started_onboarding_at >= TIMESTAMP '2025-12-01 00:00:00'
ORDER BY connected_at DESC

Schema overview

The connect_merchants table is a current-state account dimension for all platform–connected account relationships. It’s a wide-dimension table, with each row representing one connected account and columns representing an account’s attributes and lifecycle status. This differs from the financial summary table, which is a vertical metrics table.

Identity and connection columns

These columns identify the platform–account relationship and its current connection state.

ColumnTypeDescription
platform_merchant_idstringStripe account ID of the platform ( acct_…)
connected_account_merchant_idstringStripe account ID of the connected account ( acct_…). Consistent join key across all Connect Analytical Data datasets.
connected_attimestampWhen the Connect relationship was established. NULL if the account started onboarding but has not yet completed the connection.
disconnected_attimestampWhen the connected account was disconnected from the platform. NULL for active connections.
is_active_connectionbooleantrue if the connection is currently active (not disconnected).

Core account attribute columns

ColumnTypeDescription
identity__connected_account_merchant_countrystringISO 3166-1 alpha-2 country code of the connected account’s registered country, such as US or GB.
identity__legal_entity_typestringLegal entity type of the connected account. Values: individual, company. Visible to controlling platforms only.
capability_summary_statusstringCapability summary account status as visible to the platform. Values: the related setting, the related setting, the related setting. NULL if status cannot be determined.

Account behavior configuration columns

These columns describe the configured behavior of the connected account, such as who pays fees, who bears responsibility for negative balances, and how requirements are collected. Only controlling platforms can access them. For details about which v1 and v2 Account properties correspond to these columns, see the Account property map.

ColumnTypeDescription
responsibilities_fee_collectorstringIndicates whether the platform or connected account is responsible for paying Stripe fees for pricing-control-eligible products. the related setting - The platform is responsible for collecting fees from the account. the related setting - Direct charge fee behavior is the same as for Custom accounts. the related setting - Direct charge fee behavior is the same as for Express accounts.
connect_controller_losses_paymentsstringIndicates the responsibility for losses on the account. the related setting - The platform is responsible for negative balances on the account. the related setting - Stripe is responsible for negative balances on the account.
connect_controller_requirement_collectionstringIndicates responsibility for collecting requirements on the account. the related setting - The platform is responsible for collecting outstanding and updated requirements on the account. the related setting - Stripe is responsible for collecting outstanding and updated requirements on the account.
dashboardstringIndicates which Stripe dashboard the account can access. the related setting - The account can access the Express Dashboard. the related setting - The account can access the full Stripe Dashboard. NONE - The account can’t access any Stripe-hosted dashboard.

Onboarding milestone columns

These columns capture the timestamp, device type, and access method for each step in the connected account onboarding flow. All values are from the first occurrence of each event.

ColumnTypeDescription
started_onboarding_attimestampWhen the connected account first started the onboarding flow.
started_onboarding_device_typestringThe device type used by the account when it started onboarding. NULL if not captured.
started_onboarding_surfacestringThe onboarding flow type used when the account began onboarding. Values: api, hosted, embedded.
authentication_completed_attimestampWhen the account authentication was completed.
authentication_completed_device_typestringThe device type used by the account when it completed authentication.
authentication_completed_surfacestringThe onboarding flow type used by the connected account when it completed authentication verification. Values: api, hosted, embedded.
personal_and_business_details_completed_attimestampWhen personal and business details were completed.
personal_and_business_details_device_typestringThe device type used by the account when it completed personal and business details.
personal_and_business_details_surfacestringThe onboarding flow type used by the connected account when it completed personal and business details. Values: api, hosted, embedded.
bank_and_financial_details_completed_attimestampWhen bank and financial details were completed.
completed_onboarding_attimestampWhen the account completed all required steps in the onboarding flow.
completed_onboarding_device_typestringThe device type used by the account when it completed onboarding.
capabilities_fully_enabled_attimestampWhen all payment capabilities became active for the account, making it ready to process payments.
last_visited_onboarding_step_attimestampTimestamp of the most recent onboarding step event. NULL if no step events exist for this connection or if historical data isn’t available.

Financial activation columns

These columns capture the first date the connected account processed specific payment activity through the platform.

ColumnTypeDescription
first_card_pay_in_datedateThe first date a card payment was processed through the platform. NULL if no card payments have been made yet.
first_lpm_pay_in_datedateThe first date a non-card (local payment method) transaction was processed through the platform. NULL if no LPM payments have been made yet.
first_payout_datedateThe first date the connected account received a payout through the platform. NULL if it hasn’t received any payouts yet.

Example queries

Analyze the account onboarding funnel

Measure conversion at each step of the onboarding funnel. Use this query to identify bottlenecks and compare funnel performance across accounts.

SELECT
 identity__connected_account_merchant_country,
 COUNT(*) AS total_connections,
 COUNT(started_onboarding_at) AS started_onboarding,
 COUNT(authentication_completed_at) AS completed_authentication,
 COUNT(personal_and_business_details_completed_at) AS completed_personal_details,
 COUNT(bank_and_financial_details_completed_at) AS completed_bank_details,
 COUNT(completed_onboarding_at) AS completed_onboarding,
 COUNT(capabilities_fully_enabled_at) AS capabilities_enabled,
 ROUND(100.0 * COUNT(capabilities_fully_enabled_at) / NULLIF(COUNT(started_onboarding_at), 0), 1)
 AS start_to_enabled_pct
FROM connect_merchants
WHERE is_active_connection = TRUE
 -- Use the latest coverage start for the milestones compared above.
 AND started_onboarding_at >= TIMESTAMP '2025-12-01 00:00:00'
GROUP BY 1
ORDER BY total_connections DESC

Track activation milestones across connected accounts

Identify which connected accounts have processed their first payment, LPM transaction, or payout. Use this to track activation cohorts and find accounts that have onboarded but not yet transacted. Because this analysis uses capabilities_fully_enabled_at, the query limits the onboarding cohort to December 2025 and later.

SELECT
 connected_account_merchant_id,
 identity__connected_account_merchant_country,
 capabilities_fully_enabled_at,
 first_card_pay_in_date,
 first_lpm_pay_in_date,
 first_payout_date,
 CASE
 WHEN first_card_pay_in_date IS NOT NULL OR first_lpm_pay_in_date IS NOT NULL
 THEN 'ACTIVATED'
 WHEN capabilities_fully_enabled_at IS NOT NULL
 THEN 'ENABLED_NOT_ACTIVATED'
 ELSE 'NOT_ENABLED'
 END AS activation_status,
 DATE_DIFF('day', CAST(capabilities_fully_enabled_at AS DATE), first_card_pay_in_date)
 AS days_to_first_card_payment
FROM connect_merchants
WHERE is_active_connection = TRUE
 AND started_onboarding_at >= TIMESTAMP '2025-12-01 00:00:00'
ORDER BY capabilities_fully_enabled_at DESC

Segment accounts by configured behavior

Group connected accounts by configured behavior to audit your account portfolio.

SELECT
 connect_controller_fees_payer,
 connect_controller_losses_payments,
 connect_controller_requirement_collection,
 connect_controller_dashboard_type,
 COUNT(*) AS account_count,
 COUNT(CASE WHEN capability_summary_status = 'ENABLED' THEN 1 END) AS enabled_count,
 COUNT(CASE WHEN capability_summary_status = 'RESTRICTED' THEN 1 END) AS restricted_count,
 COUNT(CASE WHEN capability_summary_status = 'RESTRICTED_SOON' THEN 1 END) AS restricted_soon_count
FROM connect_merchants
WHERE is_active_connection = TRUE
GROUP BY 1, 2, 3, 4
ORDER BY account_count DESC

Join with financial summary for a combined account view

Combine account attributes from connect_merchants with financial performance from account_financial_summary_hourly. Join on (platform_merchant_id, connected_account_merchant_id), which use acct_… identifiers in both tables.

SELECT
 a.connected_account_merchant_id,
 a.identity__connected_account_merchant_country,
 a.capability_summary_status,
 a.capabilities_fully_enabled_at,
 a.first_card_pay_in_date,
 DATE_TRUNC('month', f.primary_revenue_date) AS activity_month,
 SUM(CASE WHEN f.category = 'VOLUME' AND f.metric_type = 'GROSS_CONNECT_PAY_IN'
 THEN f.amount_usd END) AS gross_pay_in_usd,
 SUM(CASE WHEN f.category = 'REVENUE' AND f.metric_type = 'APPLICATION_FEE'
 THEN f.amount_usd END) AS application_fee_usd
FROM connect_merchants a
LEFT JOIN account_financial_summary_hourly f
 ON a.platform_merchant_id = f.platform_merchant_id
 AND a.connected_account_merchant_id = f.connected_account_merchant_id
WHERE a.is_active_connection = TRUE
GROUP BY 1, 2, 3, 4, 5, 6
ORDER BY 6 DESC, 7 DESC NULLS LAST
Last verified 2026-09-24

Is this helpful?