How is checkout response time measured for CCS callbacks?

Hi everyone,

I’d like to ask how response time is actually measured for CCS callbacks in checkout.

We’ve noticed our callbacks are reported at around 500ms, but according to our own logs the full request never takes longer than 200–300ms — most requests are around 100ms server-side. So there’s a consistent gap between what we measure and what checkout reports.

Could this be caused by server location / network latency? Our servers are hosted in Europe.

I’m struggling to narrow it down further, mainly because we have no way to inspect this from the checkout side — the request doesn’t surface anywhere we can see it, and there don’t seem to be any logs for it (e.g. nothing in the Partner Dashboard / Dev portal).

A few specific questions:

  1. Does the reported response time include network round-trip (Shopify edge → our server → back), or is it purely the time our endpoint takes to respond?

  2. Is the measurement taken from a specific Shopify region, and could EU-hosted servers be adding latency depending on where the request originates?

  3. Is there any way to see per-request timing or logs for these callbacks anywhere (Partner Dashboard, API, etc.)?

Any insight into how this metric is calculated would help a lot. Thanks!

Hey @Jan_Ther :wave: thanks for reaching out.

These are great questions, and here’s my current understanding:

  1. It’s my understanding that the reported response time is the network round-trip and not just the time your endpoint takes to response which likely explains the gap you’re seeing
  2. You can reference our docs on Checkout performance which have some information on this. Part of your overall response time is latency between your app server and Shopify servers. The impact of latency varies between regions. Shopify servers are hosted on Google Cloud. Different levels of latency apply by region. To learn more, refer to the Google Cloud inter-region latency matrix
  3. While our carrier service metrics are currently available in the Partner Dashboard at the https://partners.shopify.com/{org id}/apps/{app id}/carrier_services URL, they are aggregates. Per-request timing or logs is a great candidate for a feature request which I can definitely submit for you. If you have any other specifics for how this would help you out, please share them here.

If you have any specific requests you are looking for more context on, I would definitely reach out to Support at help.shopify.com, create an authenticated support ticket and share the Trace ID(s) of the requests you are looking for additional information about. Our Support team should be able to help you out with this.

I’m also going to do some more digging on my end and follow up with you here when I have more detail to share. Let me know if you have any other questions in the meantime!