Compare checkout payment methods

Break down checkout completion, failures, and latency by payment method so growth teams know which option hurts revenue.

Published

difficulty intermediate · time to value 5 minutes

Start from this

Compare checkout performance by payment method: starts, selected method, payment failures, completion rate, and median completion time.

Why this matters

Payment method choice can quietly change conversion. If Apple Pay, card, PayPal, or bank transfer performs differently, the checkout UI and payment routing should reflect that.

What you get

  • Completion rate by payment method
  • Failure code breakdown
  • Median checkout time by method
  • Revenue impact estimate from underperforming methods

Walk through it

You

Which payment methods hurt checkout conversion?

Agent

I’ll compare selected payment methods against failed and completed checkouts.

POST /v1/projects/:project_id/analytics/query {
  project_id: "default",
  hogql: "SELECT properties.payment_method AS method, countIf(event = 'payment_method_selected') AS selected, countIf(event = 'payment_failed') AS failed, countIf(event = 'checkout_completed') AS completed FROM events WHERE event IN ('payment_method_selected','payment_failed','checkout_completed') AND timestamp > now() - INTERVAL 30 DAY GROUP BY method ORDER BY selected DESC"
}
{
  "rows": [
    { "method": "card", "selected": 3800, "failed": 184, "completed": 3310 },
    { "method": "paypal", "selected": 920, "failed": 91, "completed": 731 }
  ]
}

The output

The agent returns the methods ranked by lost checkout volume, then separates user-choice problems from processor failures. If useful, it can publish a lightweight revenue dashboard.

Setting it up

Track checkout lifecycle events with a stable checkout/session id. Include payment method and failure code as normalized properties.

Variations

  • “Compare payment methods by country.”
  • “Find the payment method with the highest failed revenue.”
  • “Publish checkout method conversion every morning.”

Try this recipe in your own agent.

Ask your agent to adapt the starter prompt to your saved signal map and live events, then run it against your data.

Install agentry.sh/install.md for me
Agent will onboard itself and then your app