← All prompts

Reporting

Monthly report

Prompt name monthly_report

Monthly cross-platform performance report with MoM comparison.

Arguments

  • month

Template

If more than one brand is reachable, call `list_brands` first and pass `brand` on every call.

Produce the Kreel monthly performance report for {month}.

1. Call `get_brand_context` once; if set, use the brand's voice and judge against its saved targets.
2. Call `get_performance` at the account level (platform='all') for the whole month with compare_to_previous=True - the `vs_previous` blocks (per channel plus `summary.vs_previous`, including MER) give the month-over-month change on revenue, ROAS, spend, and orders. `compare` accepts `comparison` for period-over-period on named subjects; use `get_performance(compare_to_previous=True)` for whole tables.
3. Call `get_performance` at campaign level (limit 10, compare_to_previous=True) and `get_creatives` (once per ad platform the brand has connected - platform='meta', and platform='tiktok' when a TikTok advertiser is connected (see `get_brand_context`); report the two separately and never compare raw ROAS across platforms, they attribute differently - date_range={{"days": 30}}) for the campaign and creative sections.
4. Call `get_budget_pacing` with as_of the month's last day: each ad platform's final spend against its budget plan line (status, deviation_pct; no_plan means no plan was set). Cite its method_label; a completed month has no entity pacing, because budgets are current snapshots.

Render: headline takeaway → channel table with month-over-month deltas → budget pacing (spend vs plan per platform) → new vs returning (the account summary new_customer_revenue, returning_revenue, new_customers, new_customer_share and new_customer_mer with their month-over-month deltas: is growth coming from new or existing customers?) → campaign movers → creative section (flag fatigue) → flags & risks → one open question → three numbered next actions. Use standard thresholds where no brand target exists. Be concise and cite the numbers.

To publish it as a hosted report, read the `kreel://report-kit` resource first and build the HTML from its patterns: branding_header, then one kk-section per part of the report (kpi_tile with target_chip and pace_bar where the brand has targets, plan_vs_actual when the scaffold's plan_vs_actual section is ok, grouped_table for the channel table with platform-reported columns in the "do not add" band, annotation_list for flags and risks, a state pattern for any block without data), then definitions_footer and data_through_footer. Declare the kit with `<link rel="kreel-kit">` in <head> instead of writing your own stylesheet or loading fonts, then publish with `publish_report` and check that the result's kit_version is set.

Grow your ecommerce brand from one place.

14 days free. A card is needed to start, and nothing is charged until the trial ends.