Skip to content

Weekly

Get a weekly flow performance report

Each Monday your flows are ranked by revenue, with recipients and clicks.

Runs
Weekly
Apps
Klaviyo
AI
Not needed
Access
read (flows)

Send this to your assistant

Create a ClickRuntime automation: every Monday at 8am, email me each Klaviyo flow's recipients, clicks and revenue for last week, sorted by revenue.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

Klaviyo flows such as welcome series, abandoned cart and post-purchase run quietly in the background and often account for the biggest share of email revenue. Because they never get a send date or a launch moment, they also get ignored. A cart flow with a broken discount code can underperform for a month before anyone opens the reporting screen, and by then the loss is real money.

Each week, ClickRuntime calls Klaviyo's flow values report, sorts the flows by revenue and emails you a short table showing how each one performed, including revenue and conversion. The same layout arrives every week, so the one flow that fell off is easy to spot.

It suits ecommerce marketers who own retention and want a standing view of their automated programs. The sorted table also keeps meetings focused on what matters.

What you get out of it

  • A failing flow is caught within a week

    If the abandoned cart flow earned $3,000 two weeks ago and $400 last week, the table makes that drop obvious. You can inspect the flow for a broken link or a paused email while the damage is small.

  • Effort goes to the flows that earn

    Sorting by revenue puts your best performers at the top. That tells a small team where an hour of testing a subject line will pay off and where it will not.

  • Old flows get a reality check

    Flows built two years ago may still be sending but earning almost nothing. Seeing their low conversion beside the leaders is the push needed to rewrite or retire them. That conversation is hard to have without numbers in front of you.

  • Leadership gets a steady summary

    Founders and finance partners ask what the automated emails contribute. A weekly email you can forward answers that without anyone pulling a custom report. Nobody has to assemble that answer by hand again.

  • Seasonal swings are put in context

    Black Friday and summer lulls change flow revenue for reasons that have nothing to do with the emails. A weekly series shows the pattern, so you do not blame a flow for something the calendar caused.

How it works

What happens, step by step

  1. Every Monday ClickRuntime asks Klaviyo for last week's results for each of your flows.

  2. It adds up the recipients, clicks and order revenue across every email in each flow.

  3. It ranks the flows by revenue, highest first.

  4. You get one email with a line per flow, such as your abandoned cart flow.

Before it runs live

  • Connect Klaviyo

What you get

RunsWeekly
Get a weekly flow performance reporttoday, 9:00Succeeded
Email · Klaviyo flows last weekAbandoned cart 1,204 sent 318 clicks $9,450

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Run it at a different time, more or less often, or only on weekdays
  • Add an AI step, for example to summarize, sort or draft a reply
  • Add another app, for example also send it to Slack
  • Combine it with other Klaviyo steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
flow_performance_weekly_report.pyexample
from clickruntime import on_trigger, credentials, http, notify

API = "https://a.klaviyo.com/api"
PLACED_ORDER_METRIC_ID = "RESQ6t"

def klaviyo():
    return {"Authorization": f"Klaviyo-API-Key {credentials.secret('KLAVIYO_API_KEY')}",
            "revision": "2024-10-15", "accept": "application/vnd.api+json", "content-type": "application/vnd.api+json"}

@on_trigger
def run(event):
    h = klaviyo()
    body = {"data": {"type": "flow-values-report", "attributes": {
        "statistics": ["recipients", "clicks", "conversion_value"],
        "timeframe": {"key": "last_week"}, "conversion_metric_id": PLACED_ORDER_METRIC_ID}}}
    results = http.post(f"{API}/flow-values-reports", json=body, headers=h).json()["data"]["attributes"]["results"]
    totals = {}
    for r in results:  # results are per flow message; add them up per flow
        t = totals.setdefault(r["groupings"]["flow_id"], {"recipients": 0, "clicks": 0, "conversion_value": 0})
        for k in t:
            t[k] += r["statistics"][k]
    lines = []
    for flow_id, s in sorted(totals.items(), key=lambda kv: -kv[1]["conversion_value"]):
        name = http.get(f"{API}/flows/{flow_id}", headers=h).json()["data"]["attributes"]["name"]
        lines.append(f"{name[:30]:<30} {s['recipients']:>6} sent {s['clicks']:>5} clicks  ${s['conversion_value']:,.0f}")
    notify.email_me("Klaviyo flows last week", "\n".join(lines))
    return {"flows": len(lines)}

FAQ

Common questions

Which metrics are in the weekly table?
The table lists each flow with its revenue and conversion figures for the week, pulled from Klaviyo's flow values report. Other values from that report, such as recipients or open rate, can be added if you tell your assistant which columns matter.
Does it cover flows that are in draft or paused?
The report only reflects flows that sent messages during the period, so a paused or draft flow will have nothing to show and normally does not appear. If a flow you expected is missing, that absence is itself a sign to check its status.
Can the email compare this week with the previous one?
Yes, the automation can fetch two periods and show the change per flow. People often ask for this once they have a few weeks of reports. It adds one more call to Klaviyo and an extra column in the table.
What permissions does it need?
read (flows). Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it runs (weekly). Checks that find nothing to do and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Get a weekly flow performance report” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.