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

Connect to the Brandwave MCP server, then ask your AI assistant in natural language. It will choose the right Brandwave task and ask for any details it needs.

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

text
List all outcome definitions in my workspace.

Details to provide

NameTypeRequiredDescription
workspaceIdstring (UUID)RequiredWorkspace 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

text
Create a new outcome definition.

Details to provide

NameTypeRequiredDescription
workspaceIdstring (UUID)RequiredWorkspace identifier.
namestringRequiredShort name of the outcome, for example "Sales value" or "Qualified inquiries".
descriptionstring | null—What the outcome measures and how it is normally sourced.
valueKind'count' | 'currency' | 'percentage' | 'ratio' | 'index' | 'duration' | 'other'RequiredWhat kind of quantity measurements carry: count, currency, percentage, ratio, index, duration, or other.
unitLabelstring | null—Unit shown after values, for example "inquiries" or "points".
defaultCurrencystring | 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

text
Update the outcome definition.

Details to provide

NameTypeRequiredDescription
namestring—Short name of the outcome, for example "Sales value" or "Qualified inquiries".
descriptionstring | 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.
unitLabelstring | null—Unit shown after values, for example "inquiries" or "points".
defaultCurrencystring | null—ISO 4217 currency code applied to currency-kind measurements, for example "NZD".
idstring (UUID)RequiredUnique 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

text
Delete this outcome definition.

Details to provide

NameTypeRequiredDescription
idstring (UUID)RequiredUnique 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

text
List all outcome measurements in my workspace.

Details to provide

NameTypeRequiredDescription
workspaceIdstring (UUID)RequiredWorkspace identifier.
campaignIdstring (UUID)RequiredUnique 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

text
Create a new outcome measurement.

Details to provide

NameTypeRequiredDescription
workspaceIdstring (UUID)RequiredWorkspace identifier.
campaignIdstring (UUID)RequiredUnique identifier (UUID v4).
outcomeDefinitionIdstring (UUID)RequiredThe reusable outcome definition this measures.
periodStartstring | null—First day (YYYY-MM-DD) of the period the reported value covers.
periodEndstring | null—Last day (YYYY-MM-DD) of the period; must be on or after periodStart.
valuenumberRequiredThe reported outcome value, in the definition's value kind and unit.
baselineValueunknown—Comparable value before the campaign, when the report supplied one.
marketstring | null—Market or region the value applies to, for example "New Zealand".
sourceMethod'document_reported' | 'manual' | 'csv' | 'api'RequiredHow the value was obtained: document_reported, manual entry, csv import, or api. Reported outcomes are claims, not observed attribution.
confidencenumber | 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

text
Update the outcome measurement.

Details to provide

NameTypeRequiredDescription
outcomeDefinitionIdstring (UUID)—The reusable outcome definition this measures.
periodStartstring | null—First day (YYYY-MM-DD) of the period the reported value covers.
periodEndstring | null—Last day (YYYY-MM-DD) of the period; must be on or after periodStart.
valuenumber—The reported outcome value, in the definition's value kind and unit.
baselineValueunknown—Comparable value before the campaign, when the report supplied one.
marketstring | 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.
confidencenumber | null—Reporter's confidence in the value from 0 (none) to 1 (certain).
idstring (UUID)RequiredUnique 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

text
Delete this outcome measurement.

Details to provide

NameTypeRequiredDescription
idstring (UUID)RequiredUnique 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

text
Show me the details for this analytics history.

Details to provide

NameTypeRequiredDescription
workspaceIdstring (UUID)RequiredWorkspace identifier.
startDatestringRequiredFirst day of the range (YYYY-MM-DD, inclusive).
endDatestringRequiredLast 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

text
Show me the details for this hdyhau evidence.

Details to provide

NameTypeRequiredDescription
workspaceIdstring (UUID)RequiredWorkspace identifier.
startDatestringRequiredFirst day of the range (YYYY-MM-DD, inclusive).
endDatestringRequiredLast 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

text
Upsert HDYHAU mapping for my workspace.

Details to provide

NameTypeRequiredDescription
workspaceIdstring (UUID)RequiredWorkspace identifier.
dimensionApiNamestringRequired
rawValuestringRequired
normalizedValuestringRequired
category'creator' | 'organic_social' | 'broadcast' | 'out_of_home' | 'print' | 'podcast' | 'search' | 'referral' | 'paid' | 'events' | 'other' | 'unknown'RequiredNormalized 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

text
Show me the details for this direct signal evidence.

Details to provide

NameTypeRequiredDescription
workspaceIdstring (UUID)RequiredWorkspace identifier.
startDatestringRequiredFirst day of the range (YYYY-MM-DD, inclusive).
endDatestringRequiredLast 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

text
Upsert direct signal mapping for my workspace.

Details to provide

NameTypeRequiredDescription
workspaceIdstring (UUID)RequiredWorkspace identifier.
signalIdstring (UUID)RequiredDiscovered GA4 direct-signal identifier.
associationunknown | nullRequiredExactly 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

text
Set direct signal ignored for my workspace.

Details to provide

NameTypeRequiredDescription
workspaceIdstring (UUID)RequiredWorkspace identifier.
signalIdstring (UUID)RequiredDiscovered GA4 direct-signal identifier.
ignoredbooleanRequiredTrue 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

text
Show me the details for this outcomes by channel.

Details to provide

NameTypeRequiredDescription
workspaceIdstring (UUID)RequiredWorkspace identifier.
startDatestringRequiredFirst day of the range (YYYY-MM-DD, inclusive).
endDatestringRequiredLast day of the range (YYYY-MM-DD, inclusive).

What you'll get back

Returns { data, _meta } with the result.