Fetch Experience Data

Analyze experience (legacy GET)

Retrieve analytics data for a specific experience, including metrics, variations, and optionally graph images.

This legacy GET endpoint is deprecated, intentionally limited to the original query-parameter contract, and kept only as a beta compatibility path. Use the POST variant on the same path for all new integrations. The GET endpoint will be removed when the beta version ends.

view is optional and defaults to overview; omitting it returns the same payload as ?view=overview. Valid values are overview, audience, and post_test. The value summary is not supported. When view=audience, you must also provide the audience query parameter. The audience parameter is rejected with a 400 when view is overview (including when view is omitted and therefore defaulted).

The experienceId path parameter must be a UUID. Any other value returns 400 with { "errors": [], "properties": { "experienceId": { "errors": ["Invalid UUID"] } } } before the experience is looked up.

The legacy start and end query parameters must be 10-digit Unix epoch timestamps in seconds, not milliseconds. The POST variant's startTs / endTs names are not accepted here — they are stripped silently, so sending them returns 200 over the experience's full lifetime rather than the range you asked for.

Graphs are requested with a comma-separated graphs query parameter holding metric identifiers (for example ?graphs=net_revenue_per_visitor,conversion_rate), with graphOutput selecting png (default, returns url) or base64 (returns data). Note the name: the POST variant nests this as graphs.outputFormat; an outputFormat query parameter is stripped here. Unlike the POST variant, which rejects an unknown identifier with a 400, this endpoint silently drops unrecognized values and returns graphs: [].

Response payloads include impact (object with est_monthly_revenue_increase: the projected 30-day revenue lift from the best non-control variation vs. control, or null when there is insufficient data) plus distribution and ordering helpers such as audienceOrder, histogram, kde, and cdf.

As on the POST variant, impact uses whole-variation overview metrics with the same filters and time window, including under view=audience. Under view=post_test, the estimate is null.

Rate Limit: 50 requests per 30s window, refilling 25 tokens every 30s.

get/v25-10-beta/analytics/resource/{experienceId}

Request

Path parameters

experienceIdstring uuid required

Query parameters

graphsstring

Comma-separated list of graph IDs to include in response. Applies to "view=overview" and "view=audience" requests. On this deprecated GET endpoint an unrecognized ID is silently ignored and "graphs" comes back empty; the POST variant rejects it with a 400 instead. Available options:

  • abandoned_cart_rate
  • abandoned_checkout_rate
  • add_to_cart_rate
  • avg_discount_per_all_orders
  • avg_discount_per_discounted_order
  • avg_product_revenue_per_unit
  • avg_units_per_order
  • checkout_address_submitted_rate
  • checkout_begin_rate
  • checkout_enter_contact_info_rate
  • conversion_rate
  • net_product_revenue_per_order
  • net_revenue_from_onsite_upsell
  • net_revenue_from_post_purchase_offer
  • net_revenue_from_upsell
  • net_revenue_per_order
  • net_revenue_per_visitor
  • net_shipping_revenue_per_order
  • pct_orders_free_shipping
  • pct_orders_with_onsite_upsell
  • pct_orders_with_post_purchase_offer
  • pct_orders_with_upsell
  • pct_subscription_orders
  • profit_per_order
  • profit_per_visitor
  • subscription_orders_per_visitor
  • subscription_product_revenue_per_order
  • subscription_profit_per_visitor
  • subscription_revenue_per_order
  • subscription_revenue_per_visitor
  • view_collection_page_rate
  • view_product_page_rate
graphOutput'png' | 'base64'

Output format for graph images. 'png' (default) uploads to S3 and returns a URL. 'base64' returns the raw base64-encoded PNG data inline.

view'overview' | 'audience' | 'post_test'

Resource view to analyze. Supported values are 'overview' for variation-level metrics, 'audience' for a breakdown by the selected audience dimension, and 'post_test' for post-test metrics (customers who converted during the test, tracked by their purchase behavior after that conversion, split by variation).

audience'device_type' | 'visitor_type' | 'source_channel' | 'source_site' | 'country_code' | 'landing_page_full_path' | 'purchase_likelihood'

Audience breakdown dimension. Required when view is audience. Optional when view is post_test (returns the post-test breakdown by the selected dimension). Not allowed when view is overview. Use one of the supported audience fields such as device_type, visitor_type, or source_channel.

analyticsViewType'test_orders_only' | 'sitewide_orders' | 'none'

Optional analytics view preset used by the backend when building the analysis request.

endstring

Optional analysis end timestamp as a 10-digit Unix epoch string in seconds (not milliseconds).

startstring

Optional analysis start timestamp as a 10-digit Unix epoch string in seconds (not milliseconds).

Response

OK

datasetId'order_line_items' | 'orders' | 'aiProfit' | 'variation_overview' | 'variation_audience' | 'variation_timeseries_discrete' | 'variation_timeseries_cumulative' | 'experience_countries' | 'variation_shipping_method' | 'variation_histogram' | 'variation_products' | 'variation_product_groups' | 'variation_order_unit_mix' | 'custom_events_plugin' | 'custom_events_server' | 'order_reconciliation' | 'order_reconciliation_export' | 'experience_session_order' | 'timeseries' | 'country_codes' | 'snapshots' | 'experience_shipping_methods' | 'timeseries_audience' | 'snapshots_audience' | 'holiday_benchmarking_single_day' | 'holiday_benchmarking_multiple_days' | 'order_distribution_histogram' | 'order_distribution_unit_mix' | 'conversion_snapshots' | 'conversion_funnel' | 'conversion_timeseries' | 'variation_post_metrics' | 'variation_post_metrics_audience' required
latestRunTsnumber required
cogsConfiguredboolean

Whether cost of goods sold (COGS) is configured for the store (any revenue has COGS data). When false, all profit metric values are null because they cannot be computed; use revenue metrics instead. Only present when the request includes a profit metric.

cogsCoveragePctnumber

Fraction of revenue (0-1) backed by line items that have COGS data. 0 means profit metrics are unavailable and returned as null. A value between 0 and 1 means profit is based on partial COGS coverage; 1 means full coverage. Only present when the request includes a profit metric.

audienceOrderunknown required
histogramunknown required
kdeunknown required
cdfunknown required
experienceIdstring uuid
experienceNamestring

Changes

No recorded changes to this operation across all 1 revision of this API.