Outcomes
See how an AI assistant can help with outcomes in Brandwave, including example prompts and the details it may ask for.
Using your AI assistant
List outcome definitions
List reusable reported outcome definitions for a workspace.
Tool name: list_outcome_definitions. Protocol hints: readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false.
Example prompt
List all outcome definitions in my workspace.Details to provide
| Name | Type | Required | Description |
|---|---|---|---|
| workspaceId | string (UUID) | Required | Workspace identifier. |
What you'll get back
Returns { items, totalCount, facets, _meta } with paginated results.
Create outcome definition
Create a reusable definition for a reported business or brand outcome such as sales value, awareness, or qualified inquiries, with a name, value kind, unit label, and default currency.
Tool name: create_outcome_definition. Protocol hints: readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false.
Example prompt
Create a new outcome definition.Details to provide
| Name | Type | Required | Description |
|---|---|---|---|
| workspaceId | string (UUID) | Required | Workspace identifier. |
| name | string | Required | Short name of the outcome, for example "Sales value" or "Qualified inquiries". |
| description | string | null | — | What the outcome measures and how it is normally sourced. |
| valueKind | 'count' | 'currency' | 'percentage' | 'ratio' | 'index' | 'duration' | 'other' | Required | What kind of quantity measurements carry: count, currency, percentage, ratio, index, duration, or other. |
| unitLabel | string | null | — | Unit shown after values, for example "inquiries" or "points". |
| defaultCurrency | string | null | — | ISO 4217 currency code applied to currency-kind measurements, for example "NZD". |
What you'll get back
Returns { data, _meta } with the result.
Update outcome definition
Update the name, description, value kind, unit label, or default currency of a reusable reported outcome definition.
Tool name: update_outcome_definition. Protocol hints: readOnlyHint=false, destructiveHint=true, idempotentHint=true, openWorldHint=false.
Example prompt
Update the outcome definition.Details to provide
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | — | Short name of the outcome, for example "Sales value" or "Qualified inquiries". |
| description | string | null | — | What the outcome measures and how it is normally sourced. |
| valueKind | 'count' | 'currency' | 'percentage' | 'ratio' | 'index' | 'duration' | 'other' | — | What kind of quantity measurements carry: count, currency, percentage, ratio, index, duration, or other. |
| unitLabel | string | null | — | Unit shown after values, for example "inquiries" or "points". |
| defaultCurrency | string | null | — | ISO 4217 currency code applied to currency-kind measurements, for example "NZD". |
| id | string (UUID) | Required | Unique identifier (UUID v4). |
What you'll get back
Returns { data, _meta } with the result.
Delete outcome definition
Delete an unused reported outcome definition by soft deletion; definitions with active measurements are blocked.
Tool name: delete_outcome_definition. Protocol hints: readOnlyHint=false, destructiveHint=true, idempotentHint=true, openWorldHint=false.
Example prompt
Delete this outcome definition.Details to provide
| Name | Type | Required | Description |
|---|---|---|---|
| id | string (UUID) | Required | Unique identifier (UUID v4). |
What you'll get back
Returns { data, _meta } with the result.
List outcome measurements
List reported outcome measurements for a campaign, including method, period, confidence, units, and definition.
Tool name: list_outcome_measurements. Protocol hints: readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false.
Example prompt
List all outcome measurements in my workspace.Details to provide
| Name | Type | Required | Description |
|---|---|---|---|
| workspaceId | string (UUID) | Required | Workspace identifier. |
| campaignId | string (UUID) | Required | Unique identifier (UUID v4). |
What you'll get back
Returns { items, totalCount, facets, _meta } with paginated results.
Create outcome measurement
Record a campaign-reported outcome measurement: the value, optional baseline value, reporting period start and end, market, source method, and confidence, stored as an append-only evidence claim.
Tool name: create_outcome_measurement. Protocol hints: readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false.
Example prompt
Create a new outcome measurement.Details to provide
| Name | Type | Required | Description |
|---|---|---|---|
| workspaceId | string (UUID) | Required | Workspace identifier. |
| campaignId | string (UUID) | Required | Unique identifier (UUID v4). |
| outcomeDefinitionId | string (UUID) | Required | The reusable outcome definition this measures. |
| periodStart | string | null | — | First day (YYYY-MM-DD) of the period the reported value covers. |
| periodEnd | string | null | — | Last day (YYYY-MM-DD) of the period; must be on or after periodStart. |
| value | number | Required | The reported outcome value, in the definition's value kind and unit. |
| baselineValue | unknown | — | Comparable value before the campaign, when the report supplied one. |
| market | string | null | — | Market or region the value applies to, for example "New Zealand". |
| sourceMethod | 'document_reported' | 'manual' | 'csv' | 'api' | Required | How the value was obtained: document_reported, manual entry, csv import, or api. Reported outcomes are claims, not observed attribution. |
| confidence | number | null | — | Reporter's confidence in the value from 0 (none) to 1 (certain). |
What you'll get back
Returns { data, _meta } with the result.
Update outcome measurement
Update the value, baseline, period start and end, market, source method, or confidence of a reported outcome measurement, superseding its prior evidence claim when the value changes.
Tool name: update_outcome_measurement. Protocol hints: readOnlyHint=false, destructiveHint=true, idempotentHint=true, openWorldHint=false.
Example prompt
Update the outcome measurement.Details to provide
| Name | Type | Required | Description |
|---|---|---|---|
| outcomeDefinitionId | string (UUID) | — | The reusable outcome definition this measures. |
| periodStart | string | null | — | First day (YYYY-MM-DD) of the period the reported value covers. |
| periodEnd | string | null | — | Last day (YYYY-MM-DD) of the period; must be on or after periodStart. |
| value | number | — | The reported outcome value, in the definition's value kind and unit. |
| baselineValue | unknown | — | Comparable value before the campaign, when the report supplied one. |
| market | string | null | — | Market or region the value applies to, for example "New Zealand". |
| sourceMethod | 'document_reported' | 'manual' | 'csv' | 'api' | — | How the value was obtained: document_reported, manual entry, csv import, or api. Reported outcomes are claims, not observed attribution. |
| confidence | number | null | — | Reporter's confidence in the value from 0 (none) to 1 (certain). |
| id | string (UUID) | Required | Unique identifier (UUID v4). |
What you'll get back
Returns { data, _meta } with the result.
Delete outcome measurement
Delete a reported campaign outcome measurement by soft deletion.
Tool name: delete_outcome_measurement. Protocol hints: readOnlyHint=false, destructiveHint=true, idempotentHint=true, openWorldHint=false.
Example prompt
Delete this outcome measurement.Details to provide
| Name | Type | Required | Description |
|---|---|---|---|
| id | string (UUID) | Required | Unique identifier (UUID v4). |
What you'll get back
Returns { data, _meta } with the result.
Get analytics history
Fetch daily Google Analytics site metrics (sessions, users, page views) and success-metric event counts for a date range, zero-filled for days without data.
Tool name: get_analytics_history. Protocol hints: readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false.
Example prompt
Show me the details for this analytics history.Details to provide
| Name | Type | Required | Description |
|---|---|---|---|
| workspaceId | string (UUID) | Required | Workspace identifier. |
| startDate | string | Required | First day of the range (YYYY-MM-DD, inclusive). |
| endDate | string | Required | Last day of the range (YYYY-MM-DD, inclusive). |
What you'll get back
Returns { items, totalCount, facets, _meta } with paginated results.
Get HDYHAU evidence
Retrieve a summary of GA4 How Did You Hear About Us (HDYHAU) custom-dimension values for a date range, including raw responses, normalized source categories, response coverage, creator-marketing relevance, data-quality flags, and a daily evidence timeline. This does not assign conversions to creators or campaigns.
Tool name: get_hdyhau_evidence. Protocol hints: readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false.
Example prompt
Show me the details for this hdyhau evidence.Details to provide
| Name | Type | Required | Description |
|---|---|---|---|
| workspaceId | string (UUID) | Required | Workspace identifier. |
| startDate | string | Required | First day of the range (YYYY-MM-DD, inclusive). |
| endDate | string | Required | Last day of the range (YYYY-MM-DD, inclusive). |
What you'll get back
Returns { data, _meta } with the result.
Upsert HDYHAU mapping
Create or update a reusable workspace-specific mapping that normalizes one raw GA4 HDYHAU response value for a dimension API name into a source label and category for future reporting. This changes classification only and does not assign attribution.
Tool name: upsert_hdyhau_mapping. Protocol hints: readOnlyHint=false, destructiveHint=true, idempotentHint=true, openWorldHint=false.
Example prompt
Upsert HDYHAU mapping for my workspace.Details to provide
| Name | Type | Required | Description |
|---|---|---|---|
| workspaceId | string (UUID) | Required | Workspace identifier. |
| dimensionApiName | string | Required | |
| rawValue | string | Required | |
| normalizedValue | string | Required | |
| category | 'creator' | 'organic_social' | 'broadcast' | 'out_of_home' | 'print' | 'podcast' | 'search' | 'referral' | 'paid' | 'events' | 'other' | 'unknown' | Required | Normalized HDYHAU source category. |
What you'll get back
Returns { data, _meta } with the result.
Get direct signal evidence
Retrieve directly observed GA4 promo-code and manually tagged UTM-link evidence for a date range, including sessions, daily users, selected success outcomes, explicit creator/campaign/activity mappings, general referral-channel buckets (e.g. Facebook, Google organic, an AI assistant) with a per-bucket traffic summary, and zero-filled timeline data. This reports observed evidence and does not infer attribution.
Tool name: get_direct_signal_evidence. Protocol hints: readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false.
Example prompt
Show me the details for this direct signal evidence.Details to provide
| Name | Type | Required | Description |
|---|---|---|---|
| workspaceId | string (UUID) | Required | Workspace identifier. |
| startDate | string | Required | First day of the range (YYYY-MM-DD, inclusive). |
| endDate | string | Required | Last day of the range (YYYY-MM-DD, inclusive). |
What you'll get back
Returns { data, _meta } with the result.
Upsert direct signal mapping
Update one discovered GA4 promo code or manually tagged UTM link by mapping it to exactly one Brandwave creator, campaign, or activity, grouping it under one general referral-channel bucket (e.g. Facebook, Google organic, an AI assistant) when it cannot be tied to a specific entity, or removing its existing mapping. The association is mutually exclusive, applies to all observed sessions, users, and outcomes for that signal, and does not infer causal attribution.
Tool name: upsert_direct_signal_mapping. Protocol hints: readOnlyHint=false, destructiveHint=true, idempotentHint=true, openWorldHint=false.
Example prompt
Upsert direct signal mapping for my workspace.Details to provide
| Name | Type | Required | Description |
|---|---|---|---|
| workspaceId | string (UUID) | Required | Workspace identifier. |
| signalId | string (UUID) | Required | Discovered GA4 direct-signal identifier. |
| association | unknown | null | Required | Exactly one association - a Brandwave creator, campaign, or activity, or a general referral-channel bucket - or null to remove the mapping. |
What you'll get back
Returns { data, _meta } with the result.
Set direct signal ignored
Ignore one discovered GA4 promo code or manually tagged UTM link as noise, or restore a previously ignored one. Ignored signals are hidden from the default reporting view and excluded from its headline counts, but retain their observed sessions, users, and outcomes and can be restored at any time. This changes triage state only and does not infer attribution.
Tool name: set_direct_signal_ignored. Protocol hints: readOnlyHint=false, destructiveHint=true, idempotentHint=true, openWorldHint=false.
Example prompt
Set direct signal ignored for my workspace.Details to provide
| Name | Type | Required | Description |
|---|---|---|---|
| workspaceId | string (UUID) | Required | Workspace identifier. |
| signalId | string (UUID) | Required | Discovered GA4 direct-signal identifier. |
| ignored | boolean | Required | True to ignore the signal as noise, false to restore it for review. |
What you'll get back
Returns { data, _meta } with the result.
Get outcomes by channel
Retrieve evidence by channel for a date range: each channel type with spend (social media, broadcast, out of home, print, events, podcasts, PR articles) walked across the evidence chain with spend and activity count, impressions, sessions from linked promo codes and tagged links, linked success events, and customer-reported HDYHAU mentions, plus a corroboration count of how many of the four steps hold direct evidence. Cells are null when the source that could see them is not connected. Nothing is inferred or attributed.
Tool name: get_channel_outcomes. Protocol hints: readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false.
Example prompt
Show me the details for this outcomes by channel.Details to provide
| Name | Type | Required | Description |
|---|---|---|---|
| workspaceId | string (UUID) | Required | Workspace identifier. |
| startDate | string | Required | First day of the range (YYYY-MM-DD, inclusive). |
| endDate | string | Required | Last day of the range (YYYY-MM-DD, inclusive). |
What you'll get back
Returns { data, _meta } with the result.