Guides → Custom reports — generated report artifacts

Custom reports

How to manage generated report artifacts as stateful objects

Custom reports is the report-object surface inside SG-Dashboard. Every generated report is a stateful artifact — title, date range, generation timestamp, status, previewability, downloadability — that lives as its own object rather than as a fleeting export. The surface is built so stakeholder deliverables stop being assembled from screenshots, copy-paste, or repeated manual exports each cycle.

This page covers what Custom reports owns, what it deliberately does not own, and how to work with report objects through the generation, preview, download, and revisit lifecycle. The reporting law is that a generated report has its own identity — distinct from the live dashboard view it was rendered from, and distinct from a raw export warehouse that dumps files.

What is this for?

Custom reports turns analytics output into a managed object. Instead of recreating the same monthly stakeholder packet from scratch every cycle, you generate it once, label it, and keep it findable for the next person who needs that packet or that comparison.

Read this page when you need to:

  • Generate a packaged report for a stakeholder review, board meeting, or client deliverable.
  • Find a report your team produced previously without recreating it.
  • See the full history of generated reports for an account at a glance.
  • Hand over a report by URL or download rather than by screenshot.
  • Build a recurring cadence where each cycle's report lives alongside its predecessors.

The surface stays focused on report artifacts. Live dashboards still live in Analytics and Reports. Raw exports of underlying data still live in their respective module exports. Custom reports is the layer that packages, names, and preserves analytical output as deliverable objects.

Good use cases

Monthly stakeholder packet. On the first of the month, generate a Custom report for the prior month with the standard shape your stakeholders expect. The report becomes an object in the inventory — title, date range, generation date, ready-to-preview, ready-to-download. Share the link or send the download. Next month, generate the next one — last month's stays in inventory for reference.

Quarterly client deliverable. At quarter-end, generate the quarterly report. The artifact carries its own date range so a year from now, you can pull it up and verify exactly what the Q1 numbers were when reported — without re-running the query against today's data, which may have shifted.

Pre-meeting refresh. Before a stakeholder meeting, regenerate the standard monthly with a tighter window (last 14 days, say) for an updated read. The new artifact sits next to the original. The meeting can reference either, with the dates each was generated visible on both.

Reporting handover. When the operator who owns reporting changes (new hire, role swap, vendor handoff), the new person inherits a populated inventory of past reports rather than a folder of orphaned screenshots. The reporting story is preserved as objects, not as the previous person's email trail.

Audit trail for a specific number. A stakeholder asks "where did you get that revenue figure last March?" Open Custom reports, filter to the March window, find the report that produced the number, and share its preview. The artifact carries its own generation context so the answer is provable rather than guessed.

Custom reports · inventory
TitlePeriodGeneratedStatusActions
April monthly stakeholder packetApr 1 — Apr 30May 1ReadyPreview · Download
Q1 client deliverableJan 1 — Mar 31Apr 4ReadyPreview · Download
May refresh — pre-meetingMay 1 — May 14May 15Generating...

What NOT to use this for

As a live dashboard substitute. Custom reports are snapshots, generated against the data available at generation time. They do not refresh themselves. If the question is "what is the number right now", open the live dashboard in Analytics or Reports — not yesterday's saved Custom report.

As a raw-data export warehouse. Custom reports packages analytical output for stakeholder reading. It is not a generic file library or a bulk export tool for every downloadable object in the system. Module-specific raw exports (CSV dumps of submissions, orders, contacts) live in their own modules and are not surfaced here.

As a substitute for Reports. The Reports surface in SG-Dashboard owns the scheduled and on-demand analytics-package delivery. Custom reports owns the artifact-level object that gets produced. They work together — Reports defines what gets generated; Custom reports manages the resulting artifacts.

As a real-time collaboration surface. A Custom report is a published artifact, not a working document. Two operators editing the same report at the same time is not the workflow. The workflow is: generate, preview, share. If the underlying numbers need to change, regenerate.

As permanent infinite storage. Generated artifacts follow the account's retention posture. Old artifacts may be archived or removed under retention rules. For long-horizon archival of specific deliverables, download the artifact and store it in your own document system.

How this connects to other features

  • Reports — the surface that defines and schedules report generation. Custom reports holds the artifacts that Reports produces.
  • Analytics — the live operations-level surface for the underlying data. A Custom report is essentially a frozen, packaged read of Analytics for a specific period.
  • Ads reporting — paid-performance reporting that can feed into Custom reports as one of the report-shape inputs.
  • Reporting automations — the automation layer that triggers scheduled report generation, lands the artifact in Custom reports, and (optionally) emails the recipient. Custom reports is the inventory side; reporting automations is the trigger side.

Before you start

  • You are signed in to SGEN with admin access to the site. Custom reports management is admin-only.
  • The data sources you intend to report on are wired and producing data. A Custom report against an empty Analytics period produces an empty artifact — technically valid, not useful.
  • A naming convention for reports is decided on your team. Inventory is only as findable as the titles people give the reports. "April monthly stakeholder packet" reads better in three months than "report-4".
  • If the report will be shared externally, the stakeholder list and the delivery channel are agreed in advance. Custom reports holds the artifact; delivery to a specific stakeholder happens via download, link share, or the automation layer.

Where to go

SG-Dashboard navigation

Find Custom reports under Analytics
+ Add New
SectionSub-area
DashboardHome / Overview
PagesAll pages / Drafts
BlogPosts / Categories
AnalyticsReports · Custom reports · Live
FormsForm builder / Submissions
SettingsDomain / SEO / Users
  1. Open the left navigation in SG-Dashboard.
  2. Open Analytics.
  3. Open the Custom reports sub-area. The inventory view renders with the most-recent reports at the top.

The exact label can shift as SG-Dashboard evolves. If Custom reports is not the visible label, look for Generated reports or Reports inventory alongside the main Reports surface — the artifact-management view is consistent even when the entry label changes.

Steps

1. Generate a new report

Click the Generate report action in the inventory view. The generator opens a panel where you pick the report shape (the analytical template — for example, "monthly stakeholder packet" or "campaign window summary"), the date range, and a descriptive title.

The title is the only field that lives forever — pick a descriptive name that future-you will recognise three months from now. Date range and shape are also captured on the artifact but the title is what scans in the inventory list.

2. Wait for generation

Generation status shows as Generating... while the artifact is being built, then flips to Ready when it is available. For most report shapes against typical date ranges, generation takes under a minute. Longer ranges or heavier report shapes can take a few minutes.

The inventory updates automatically as status changes. There is no need to refresh the view manually.

3. Preview the artifact

When status is Ready, click Preview on the row. The artifact opens in a preview view — the rendered report exactly as it will appear when downloaded. Use preview to verify the shape, period, and numbers before sharing externally.

Preview is read-only. The artifact cannot be edited in-place; if a number is wrong because the wrong period was picked, the action is to regenerate with the correct period rather than to edit the existing artifact.

4. Download or share

Click Download on the row to retrieve the artifact in its delivery format. Sharing options depend on the report shape — some include a shareable link, some are download-only.

Once an artifact is downloaded, the local copy is yours to distribute. The inventory copy stays available for revisits and for proof-of-record on the numbers.

5. Revisit historic reports

The inventory is sorted by generation date, newest first. To find a historic report, scroll the inventory or use the filter at the top of the view to narrow by date range, title keyword, or report shape.

Filters survive view changes — leaving the inventory and coming back returns you to the filtered state.

Custom reports / Generate

Generate report

Empty form before fill

What success looks like

  • The inventory view renders within a couple of seconds.
  • Generating a new report shows a Generating... status row that updates to Ready without manual refresh.
  • A Ready report opens correctly in preview and produces a clean download.
  • The title, period, and generation date columns are populated for every artifact.
  • Filters and search narrow the inventory predictably without losing the filter on subsequent visits.
  • Historic reports generated weeks or months earlier remain accessible (until retention boundaries are reached) and produce the same numbers on a second preview.
Report lifecycle
Generate
Generating...
Ready
Preview · Download
Inventory

What to do if it does not work

Generation stays stuck on Generating... for a long time. Most report shapes complete in under a minute; heavier shapes against long windows can take several. If a report has been Generating... for more than 15 minutes against a typical period, the generation has either failed silently or the underlying data source is slow. Refresh the inventory view; if the status has not updated, open the failed report from the inventory — failure states usually surface a more specific message at the per-report level.

Preview is blank for a Ready report. The artifact was generated against an empty data period. This is the most common cause — the report shape technically generated successfully, but the source data had zero rows in the picked period. Confirm the date range overlaps a period with actual data, then regenerate.

Download returns a tiny or empty file. Same root cause as a blank preview — the source data was empty for the period. Regenerate with a corrected period.

A historic report no longer appears in the inventory. Either the retention boundary has reached it, or someone explicitly removed it. Custom reports does not silently archive without retention rules being in effect on the account. For long-horizon needs, download artifacts to your own document system in addition to relying on the inventory.

The numbers in a regenerated report disagree with the original. This is correct behaviour, not a bug, when the underlying data has shifted. Late-arriving form submissions, attribution-window corrections, and data-source backfills all change historic numbers. The original artifact preserves the numbers as known at original generation time; the regenerated one shows the numbers as known now. Pick the right one for the question — the original for "what did we report at the time", the regenerated for "what is the most-accurate read today".

Generate report button is missing or disabled. Confirm admin access on the SGEN account, and confirm the account tier supports report generation. Some lower account tiers limit report generation.

Examples

Custom reports inventory — historical

Older artifacts surfaced via filter
+ Add New
TitlePeriodGeneratedStatusActions
February monthly stakeholder packetFeb 1 — Feb 28Mar 1ReadyPreview · Download
January monthly stakeholder packetJan 1 — Jan 31Feb 1ReadyPreview · Download
December monthly stakeholder packetDec 1 — Dec 31Jan 2ArchivedPreview
November monthly stakeholder packetNov 1 — Nov 30Dec 1ArchivedPreview

Example A — First monthly stakeholder packet. On May 1, generate a Custom report titled "April monthly stakeholder packet" with the report shape "monthly stakeholder summary" and the date range Apr 1 — Apr 30. Generation completes in 45 seconds. Preview shows the standard monthly layout — traffic summary, top pages, form submissions, attribution breakdown, ads spend where wired. Download the artifact, attach to the stakeholder email. The inventory now holds the artifact for the next time someone asks "what did April look like?"

Example B — Quarterly client deliverable. On Apr 4, generate "Q1 client deliverable" with date range Jan 1 — Mar 31, report shape "quarterly summary". Generation takes 2 minutes (longer window, broader shape). Preview, download, share with client. The artifact lives in the inventory as the auditable record of what was reported.

Example C — Pre-meeting refresh. On May 15, the team has a stakeholder meeting tomorrow. Generate "May refresh — pre-meeting" with date range May 1 — May 14. The report opens with the same monthly shape but for the partial month. Compared against the April artifact, the stakeholder can see directional trends entering the new month. Both artifacts stay in the inventory.

Generate report panel
Report shape
Monthly stakeholder summary ▾
Date range
2026-04-01 — 2026-04-30
Title
April monthly stakeholder packet
https://your-site.example

Custom public-site preview.

Report status — what each state means

A Custom report passes through a small set of well-defined states. Reading the state column accurately is the difference between knowing what is happening and guessing.

StatusWhat it meansNext action
Generating...Generation is in progressWait — most complete within a minute
ReadyGeneration completed successfully; artifact is availablePreview, download, or share
FailedGeneration did not completeOpen the report to see the failure reason, regenerate or adjust scope
EmptyGeneration completed but the underlying period had no dataPick a period with data and regenerate
ArchivedArtifact is past the active retention window but is still accessibleRe-generate if a fresh copy is needed

The state is visible in the inventory list and on the report's own page. Always read the state before assuming the report is ready to share — a Generating... or Failed report sent externally is its own type of stakeholder mishap.

Naming conventions that hold up

Inventory is only as findable as the names on the rows. A few naming patterns that age well:

  • Period-first for recurring shapes. "April monthly stakeholder packet" puts the period at the front so the inventory sorts naturally by recency when titled this way.
  • Audience-named for deliverables. "Q1 client deliverable — the team" puts the audience and purpose in the name so the right artifact is obvious without preview.
  • Reason-named for ad-hoc refreshes. "May refresh — pre-board-meeting" tells the next person why this artifact exists, not when.
  • Avoid version-numbered titles. "report-v1", "report-v2-final", "report-v2-final-FINAL" do not age well. Each generation is its own object with its own date; the generation date is the version.

Teams that pick a naming convention and stick to it produce inventories that stay readable months in. Teams that name reports inconsistently produce inventories that nobody trusts.

Working with report shapes

A report shape is the analytical template that defines what content the artifact contains. SGEN ships a set of standard shapes (monthly summary, quarterly summary, campaign-window summary, paid-performance summary, attribution summary) and the available shapes are visible in the generator panel.

Pick the shape based on the question the report needs to answer:

  • Monthly summary for recurring stakeholder reads of overall site health.
  • Quarterly summary for longer-horizon trend conversations.
  • Campaign-window summary for post-campaign debriefs.
  • Paid-performance summary for budget-and-ad-spend reviews.
  • Attribution summary for source-to-outcome conversations.

The shape determines the report layout and which data sources get pulled in. Two reports against the same period but with different shapes produce different artifacts — by design.

Generate / Shape

Pick a report shape

Shape determines layout and data sources

Regeneration semantics

Regenerating a report produces a new artifact. The original is preserved. Custom reports does not destructively overwrite a previous generation — each generation is its own object with its own generation timestamp.

This is the correct behaviour for a reporting system. The original "April monthly stakeholder packet" generated on May 1 holds the numbers as known on May 1. If someone asks on June 15 "what did April look like at the time you reported it", the May 1 artifact answers that. If someone asks "what does April look like with all the late-arriving data", a fresh regeneration of the same shape and period answers that — and lives as a second artifact alongside the first.

Two artifacts for the same period is not a duplicate problem; it is the audit trail working as designed.

Sharing reports outside the account

For external delivery, Custom reports supports two paths:

  1. Download and attach. The downloaded artifact is yours to distribute via email, shared drive, or any other channel. The recipient does not need SGEN access to read the downloaded file.
  2. Shareable link (where available). Some report shapes support generating a shareable link that lets the recipient view the artifact in a hosted view without needing an SGEN account. Link permissions and expiry follow the account's link-share policy.

For confidential or regulated reports, prefer download-and-attach over link-share. The link path is built for low-friction internal-team sharing; download is the right path when data sensitivity matters.

Custom reports and reporting automations

When recurring reports are wired through reporting automations, the generation step happens automatically on the schedule and the resulting artifact lands in Custom reports. Custom reports is the destination; reporting automations is the trigger.

This split keeps the right responsibility in the right place. The automation owns "when should this be generated" and "who should be notified". Custom reports owns "where the artifacts live, what state they are in, and how to preview or download them".

Teams running automated recurring reports see Custom reports fill up on the schedule cadence — and can intervene manually for ad-hoc shapes alongside the automated ones.

Retention and account-tier limits

Custom reports artifacts follow the account's reporting retention policy. The retention window varies by account tier. For most accounts, recent artifacts (last several months) stay in active inventory; older artifacts may be moved to an archive state, where they are still accessible but visually distinguished.

For long-horizon archival needs (regulatory record-keeping, multi-year client engagements), the right pattern is: generate the artifact, download it, and store the local copy in the team's own document system alongside any other retention-bound deliverables. The inventory in Custom reports is the live working surface, not the regulatory archive of record.

Related reading

  • Reports — the surface that defines and schedules report generation.
  • Analytics — the live operations-level analytics surface that report shapes pull from.
  • Ads reporting — paid-performance reporting that feeds into paid-shape Custom reports.
  • Reporting automations — the automation layer that triggers scheduled generation into Custom reports.

Scope

This Reference covers the platform-level shape of custom reports: what the surface is responsible for, how it relates to neighboring surfaces, and the structural boundaries that hold across releases. Operator how-to and per-release change land on the linked operator-facing or changelog surfaces, not here.

Fields

FieldMeaning
Surface nameThe platform label used in the admin navigation and the docs sidebar.
PillarWhich SGEN pillar owns the surface (SG-Core / SG-Modules / SG-Dashboard / SG-Builder).
Operator scopeWhat an operator can configure on this surface (read-only / per-record / per-site / per-account).
Related surfacesNeighboring Reference pages that own adjacent responsibilities.
On this page