get_trial_proof to follow retained trial starts to their first positive payment after 14, 30 and 60 days. The primary horizon is 30 days. This read uses stored Stripe-linked evidence; it does not query a provider, send a conversion or change an ad.
Before you begin
- Connect an MCP client with a Read or Write Workspace key authorized for Signals reporting.
- Complete Stripe app-user setup. The current reader needs a retained, unambiguous app-user association, subscription/payment evidence and a joinable frozen trial journey.
- Choose a trial-start period within retained history. A longer requested window cannot recover expired identity, billing coverage or erased links.
How do I read a trial cohort?
Callget_trial_proof with these arguments, replacing the workspace and dates:
from and to select trial starts, not payment dates. Payments are followed forward through the returned as_of, including later months. Defaults are the last 90 days, ad-set level, last qualifying touch and a 90-day lookback. Retention can shorten the effective range.
Default campaign/ad-set membership uses the last pre-trial touch carrying that dimension, rather than the literal last site touch. Ad-level assignment needs an ad ID. Missing or ambiguous frozen journeys stay unknown; the reader does not reconstruct them.
What establishes a rate?
Readrange_used, effective_window, workspace_summary, channels and each horizon under rates. The reader selects the first retained trial per app user within the requested cohort; repeated observations are counted separately as duplicates, not extra sample members.
A rate requires at least 30 mature eligible trials and adequate retained history and billing coverage. Inspect
proof_status: ok, not_enough_mature_trials, no_billing_coverage and insufficient_history are distinct. Null is not a 0% conversion rate. A measured interval describes the retained sample; it does not prove causal ad performance.
How do I interpret timing, spend and account fallbacks?
trial_to_payment_days measures trial start to payment. observed_touch_to_payment_days begins at the selected observed site touch, not Meta’s click timestamp. Their samples include mature trials confirmed paid within each horizon; do not describe them as timing for every visitor.
Stored spend uses the trial cohort dates and account reporting timezone. This differs from the conversion-date denominator in cost per earned conversion. Keep currencies and coverage separate.
accounts contains broader account-level fallbacks. A channel can reference one through account_fallback_id; do not present that fallback as ad-set proof or add it to the channel sample.
Troubleshoot
For delivery acceptance and gaps, use signal quality. A paid cohort observation does not establish Meta acceptance or attribution.