The Merchant Reports API lets you programmatically retrieve Universal Commerce Protocol (UCP) checkout and conversion performance metrics across Google surfaces, including AI Mode in Search and Gemini. These reports provide the same performance insights available in the Merchant Center UCP analytics dashboard, helping you monitor conversion funnels, completed orders, cart transfers, and product-level engagement.
The Reporting sub-API provides two views for analyzing UCP performance:
UcpAgenticPerformanceView(ucp_agentic_performance_view): Provides account-level conversion funnel, order, cancellation, and cart transfer metrics segmented by date and customer country.UcpAgenticProductPerformanceView(ucp_agentic_product_performance_view): Provides product-level (offer_id) buy button click metrics segmented by date and customer country.
Before you begin
Before querying the UCP performance views, make sure you meet the following requirements:
- Use the
v1alphaendpoint: Send your MCQL queries to thev1alphaaccounts.reports.searchmethod. For details on executing report requests, see the Merchant Reports API Get started. - Leaf accounts only: Both
ucp_agentic_performance_viewanducp_agentic_product_performance_vieware available only for leaf account types (standalone accounts and individual sub-accounts). The reporting service does not support advanced accounts (multi-client accounts). To retrieve UCP performance across an advanced account, query each sub-account individually. - Required date filter: You must specify a condition on
datein theWHEREclause of every query for both views.
Analyze account-level UCP performance
Use ucp_agentic_performance_view to track your overall UCP conversion funnel,
from buy button clicks and account linking to completed purchases and cart
transfers.
Currency and price metrics
ucp_agentic_performance_view handles currency and Price
metrics in the same way as
performance reports:
Pricemetrics: The following metrics return aPriceobject containing both anamount_microsvalue and acurrency_code:purchase_valueaverage_order_valueaverage_purchase_product_valueaverage_cart_valueaverage_cart_product_value
- Non-price metrics: The following metrics don't have an associated
currency:
buy_button_clicksaccounts_linkedaccount_linking_ratepurchase_countcancellationsaverage_purchase_product_countcart_transfersaverage_cart_product_count
- Overall funnel and count metrics (currency-independent): Select only non-price metrics to get aggregate counts independent of currency.
- Purchase and cart value metrics (by currency): Select
Pricemetrics together with their corresponding order and cart counts to analyze revenue and value per currency.
Query 1: Retrieve overall funnel metrics (currency-independent)
Use the following query to retrieve overall conversion funnel, order count, and
cart transfer metrics independent of currency (with no Price value metrics
included):
SELECT
date,
account_id,
customer_country_code,
buy_button_clicks,
accounts_linked,
account_linking_rate,
purchase_count,
cancellations,
average_purchase_product_count,
cart_transfers,
average_cart_product_count
FROM ucp_agentic_performance_view
WHERE date = '2026-09-20'
The response returns aggregated funnel metrics for each customer country:
{
"results": [
{
"ucpAgenticPerformanceView": {
"date": {
"year": 2026,
"month": 9,
"day": 20
},
"accountId": "123456789",
"customerCountryCode": "US",
"buyButtonClicks": "420",
"accountsLinked": "85",
"accountLinkingRate": 0.68,
"purchaseCount": "64",
"cancellations": "3",
"averagePurchaseProductCount": 1.75,
"cartTransfers": "52",
"averageCartProductCount": 2.1
}
}
]
}
Query 2: Retrieve purchase and cart value metrics (by currency)
Use the following query to retrieve purchase values, average order values, and cart transfer values segmented by currency:
SELECT
date,
account_id,
customer_country_code,
purchase_count,
purchase_value,
average_order_value,
average_purchase_product_count,
average_purchase_product_value,
average_cart_value,
average_cart_product_value
FROM ucp_agentic_performance_view
WHERE date = '2026-09-20' AND purchase_count > 0
The response returns a separate row for each currency present in the purchase or cart value metrics:
{
"results": [
{
"ucpAgenticPerformanceView": {
"date": {
"year": 2026,
"month": 9,
"day": 20
},
"accountId": "123456789",
"customerCountryCode": "US",
"purchaseCount": "64",
"purchaseValue": {
"amountMicros": "5120000000",
"currencyCode": "USD"
},
"averageOrderValue": {
"amountMicros": "80000000",
"currencyCode": "USD"
},
"averagePurchaseProductCount": 1.75,
"averagePurchaseProductValue": {
"amountMicros": "45714285",
"currencyCode": "USD"
},
"cartTransfers": "52",
"averageCartValue": {
"amountMicros": "94500000",
"currencyCode": "USD"
},
"averageCartProductCount": 2.1,
"averageCartProductValue": {
"amountMicros": "45000000",
"currencyCode": "USD"
}
}
}
]
}
Analyze product-level UCP performance
Use ucp_agentic_product_performance_view to see which individual products
receive buy button clicks directly from Google surfaces.
Retrieve buy button clicks by product
Use the following query to retrieve product-level buy button clicks for a specific date:
SELECT
date,
account_id,
customer_country_code,
offer_id,
title,
buy_button_clicks
FROM ucp_agentic_product_performance_view
WHERE date = '2026-09-20'
You can also omit date from the SELECT clause to aggregate clicks across a
date range using BETWEEN:
SELECT
account_id,
customer_country_code,
offer_id,
title,
buy_button_clicks
FROM ucp_agentic_product_performance_view
WHERE date BETWEEN '2026-09-01' AND '2026-09-20'
ORDER BY buy_button_clicks DESC
The response returns the aggregated buy button clicks for each matching offer:
{
"results": [
{
"ucpAgenticProductPerformanceView": {
"accountId": "123456789",
"customerCountryCode": "US",
"offerId": "sku-10042",
"title": "Lightweight Running Shoes - Blue / Size 10",
"buyButtonClicks": "38"
}
}
]
}