Marketing Campaign Analytics tool reference

This page summarizes the MMM (Marketing mix modeling) and MTA (Multi-touch attribution) tools available in the Marketing Campaign Analytics MCP server. Each section includes a plain-text summary and a compact table covering what the tool does, the expected inputs, when to use it, what it returns, and any pre-conditions.

Models (apps)

data-slots=heading, text, table

List apps (list_apps)

List all Marketing Campaign Analytics (apps) in the current sandbox.
Table
Field Details
What it does Returns models configured in the current sandbox, paginated by limit and offset. Models are ordered by descending creation time, so offset 0 returns the newest models.
Inputs Optional limit and offset values.
When to use As the first step to discover valid app_id values before calling any model-scoped action. Increase offset by limit to page through results beyond the default page.
Returns A JSON array of models with metadata such as total_count, limit, offset, and has_more.
Pre-conditions A valid authenticated session.
data-slots=heading, text, table

Get app (get_app)

Retrieve the detailed configuration of a marketing mix modeling (MMM) model.
Table
Field Details
What it does Returns an app's data sources, valid channel names, conversion identifiers, and factors.
Inputs An app identifier.
When to use Before create_scenario, to obtain valid channel names and conversion identifiers, or to inspect an app's factors.
Returns Detailed app configuration data.
Pre-conditions The app must exist and be accessible to the caller.

Model quality and diagnostics

data-slots=heading, text, table

Get model quality (get_model_quality)

Get marketing mix modeling (MMM) model quality metrics for one model, either for the full modeled period or for a specific date range.
Table
Field Details
What it does Retrieves fit metrics for a model. With no dates, returns training_r2, training_rmse, training_mape, prediction_rmse, and prediction_mape for the full modeled period. With both start_date and end_date, returns r2, rmse, mape, and smape scoped to that window instead.
Inputs An model identifier, plus optional start_date and end_date values when you want a specific window.
When to use To judge whether a model is trustworthy before relying on factor contributions, response curves, or scenarios. Use the date-range variant to check performance during a specific period.
Returns Model quality metrics for the model, either the training/prediction split or the date-window metrics.
Pre-conditions The app must exist and the caller must be allowed to read it.
Notes The date-range variant does not return the training/prediction split.
data-slots=heading, text, table

Get factor insights (get_factor_insights)

Get factor contribution analysis for a model.
Table
Field Details
What it does Returns the percentage impact of marketing channels, economic indicators, and events on the modeled business outcome.
Inputs A model identifier and any scope parameters the tool requires.
When to use To answer "what is driving my conversions or revenue?" and rank factors by relative influence.
Returns Factor contribution results ranked by relative influence.
Pre-conditions The model must already exist and be available to the caller.
data-slots=heading, text, table

Get scoring metrics (get_scoring_metrics)

Monitor ongoing model health via drift analysis.
Table
Field Details
What it does Returns retrain_flag, data_drift, model_drift, and feature-level drift statistics that detect shifts in data distribution and prediction performance.
Inputs A model identifier and any scope parameters the tool requires.
When to use To decide whether a model needs retraining because of data drift or prediction drift.
Returns Drift and scoring health metrics, including the retrain recommendation flag.
Pre-conditions The model must exist and have scoring data available.
data-slots=heading, text, table

Get training insights (get_training_insights)

Query model training insights with flexible aggregations.
Table
Field Details
What it does Aggregates training data by channel, time, or other dimensions to compute spend, revenue, and contribution metrics.
Inputs A model identifier plus aggregation choices such as channel or time.
When to use To break model results down by channel or time, or to compute ROI and CPA for one or more channels.
Returns Aggregated training insights with spend, revenue, and contribution metrics.
Pre-conditions The model must have training data that can be aggregated.

Channel analysis

data-slots=heading, text, table

Get channel synergy (get_channel_synergy)

Analyze pairwise synergy between marketing channels.
Table
Field Details
What it does Reveals complementary (amplifying) or cannibalizing effects between pairs of channels in the media mix.
Inputs A base model identifier and any channel selection or scope inputs the tool requires.
When to use To answer "which channels work better together?" and inform cross-channel budget shifts. Use the base model, not a saved scenario plan.
Returns Pairwise synergy results for the selected channels.
Pre-conditions The base model must exist and be suitable for synergy analysis.
Notes For a scenario's planned allocation, use get_scenario_plan_synergy instead.
data-slots=heading, text, table

Get dynamic response curves (get_dynamic_response_curves)

Analyze marketing spend efficiency and ROI across channels.
Table
Field Details
What it does Produces spend-to-revenue response curves per touchpoint over a date range, including break-even and current-spend points.
Inputs A base model identifier, a date range, and any touchpoint scope inputs the tool requires.
When to use To find saturation and break-even points and identify where incremental spend is still efficient for a period. Use the base model, not a scenario plan.
Returns Response curves, break-even points, and current-spend markers for the selected touchpoints.
Pre-conditions The base model must exist and the requested date range must be valid.
Notes For a touchpoint inside a saved scenario plan, use get_scenario_plan_response_curve instead.

Multi-touch attribution

data-slots=heading, text, table

Query MTA insights (query_mta_insights)

Query aggregate multi-touch attribution insights.
Table
Field Details
What it does Aggregates MTA attribution data by channel, time, or other dimensions.
Inputs Attribution scope plus the dimensions and metrics to aggregate.
When to use To answer "how do touchpoints contribute to conversions?" using data-driven attribution rather than mix modeling.
Returns Aggregated MTA insights for the requested scope.
Pre-conditions Attribution data must be available for the requested scope.
data-slots=heading, text, table

Get MTA touchpoint-position scoring (get_mta_spc_scoring)

Query the MTA touchpoint-position breakdown.
Table
Field Details
What it does Breaks down attributed conversions by touchpoint position (starter/player/closer, meaning first/middle/last touch) and touchpoint across all conversion paths.
Inputs MTA attribution scope and any touchpoint filters the tool requires.
When to use To see which touchpoints act as first-touch openers, assists, or last-touch closers for conversions, or whether a touchpoint performs better at one position than another.
Returns Position-based conversion breakdowns by touchpoint.
Pre-conditions The attribution dataset must contain conversion paths with touchpoint positions.
data-slots=heading, text, table

Get MTA top paths (get_mta_top_paths)

Query the top-performing multi-touch attribution paths.
Table
Field Details
What it does Returns effective sequences of touchpoints that lead to conversions. When top_n is set, returns fully resolved, ranked, sequenced paths with per-model credit per step; otherwise returns the raw grouped rows.
Inputs MTA attribution scope and an optional top_n limit.
When to use To understand the most common or effective customer journeys toward conversion.
Returns Ranked paths or grouped path rows, depending on whether top_n is provided.
Pre-conditions The attribution data must contain sequential touchpoint paths.
data-slots=heading, text, table

Get MTA touchpoint effectiveness (get_mta_touchpoint_effectiveness)

Query per-touchpoint MTA effectiveness data.
Table
Field Details
What it does Returns, per touchpoint, how much it drives conversion independent of volume, its path-conversion split, and its total touch volume.
Inputs MTA attribution scope and any touchpoint filters the tool requires.
When to use To rank touchpoints by algorithmic effectiveness rather than raw volume, or to see what share of a touchpoint's paths converted.
Returns Per-touchpoint effectiveness, path-conversion split, and touch volume.
Pre-conditions Touchpoint-level attribution data must be available.

Scenario planning

data-slots=heading, text, table

List scenarios (list_scenarios)

List all scenarios for the current tenant or organization sandbox.
Table
Field Details
What it does Returns saved scenarios visible in the current sandbox, paginated by limit and offset.
Inputs Optional limit and offset values.
When to use To discover existing scenario IDs before comparing, querying, evaluating, or deleting them. Increase offset by limit to page through results beyond the default page.
Returns A JSON array of scenario summaries plus metadata such as total_count, limit, offset, and has_more.
Pre-conditions A valid authenticated session.
data-slots=heading, text, table

Compare scenarios (compare_scenarios)

Compare two saved scenarios side by side.
Table
Field Details
What it does Quantifies differences in planned spend, contribution, and revenue between two scenarios.
Inputs Two saved scenario identifiers.
When to use To evaluate trade-offs between two optimization or forecast plans, such as aggressive versus conservative options.
Returns A side-by-side comparison of the selected scenarios.
Pre-conditions Both scenarios must exist and be comparable.
data-slots=heading, text, table

Query scenario (query_scenario)

Query the evaluated results of a single scenario.
Table
Field Details
What it does Aggregates a scenario's evaluated results by the requested dimensions and metrics.
Inputs A scenario identifier plus the dimensions and metrics to aggregate.
When to use To drill into an evaluated scenario's channel-level or period-level results.
Returns Aggregated scenario results for the requested breakdowns.
Pre-conditions The scenario must already be evaluated.
data-slots=heading, text, table

Get scenario plan synergy (get_scenario_plan_synergy)

Retrieve channel synergy data computed for a scenario's plan.
Table
Field Details
What it does Returns the channel synergy structure computed for a specific scenario's planned allocation.
Inputs A saved scenario identifier.
When to use To understand cross-channel interactions within a planned scenario rather than the base model.
Returns Scenario-specific channel synergy output.
Pre-conditions The scenario must exist and have a plan to analyze.
data-slots=heading, text, table

Get scenario plan response curve (get_scenario_plan_response_curve)

Retrieve the response curve for one touchpoint in a scenario.
Table
Field Details
What it does Returns the spend-response relationship for a single touchpoint within a specific scenario plan.
Inputs A scenario identifier and the touchpoint to analyze.
When to use To inspect the spend-response relationship for one channel inside a planned scenario. Use the base model tool for model-wide curves.
Returns A scenario-specific response curve for the selected touchpoint.
Pre-conditions The scenario must exist and include the selected touchpoint.
Notes For the base model's curves, use get_dynamic_response_curves.
data-slots=heading, text, table

Get scenario evaluation details (get_scenario_evaluation_details)

Retrieve detailed evaluation output for a scenario.
Table
Field Details
What it does Returns detailed per-channel and per-period scenario evaluation output, including bulk response curves and plan-config metadata.
Inputs A scenario identifier.
When to use To inspect the granular results of a scenario evaluation once its status is READY. Call it once rather than polling it in a loop.
Returns Detailed evaluation output for the selected scenario.
Pre-conditions The scenario evaluation must be complete and ready.
data-slots=heading, text, table

Create scenario (create_scenario)

Create a new Marketing Campaign Analytics scenario plan for budget optimization or forecasting.
Table
Field Details
What it does Creates a new scenario plan that must be followed by trigger_scenario_evaluation to produce results.
Inputs A model identifier (app_id) and the scenario definition or plan payload.
When to use To plan a new budget or forecast scenario after calling get_app to obtain valid channel names and conversion identifiers.
Returns A newly created scenario.
Pre-conditions The model context must be valid, and the scenario must be new because scenarios are immutable once created.
data-slots=heading, text, table

Trigger scenario evaluation (trigger_scenario_evaluation)

Trigger optimization or forecast evaluation for a saved scenario plan.
Table
Field Details
What it does Starts a compute-intensive backend job that optimizes or forecasts the scenario.
Inputs A saved scenario identifier.
When to use After create_scenario, once the plan parameters are final. This is a costly, rate-limited operation, so avoid re-triggering while iterating.
Returns A job trigger response for the scenario evaluation.
Pre-conditions The scenario must already exist, and the plan should be finalized.
Notes After triggering, poll get_scenario_job_status until the job is READY.
data-slots=heading, text, table

Get scenario job status (get_scenario_job_status)

Poll a scenario's evaluation job status.
Table
Field Details
What it does Checks the status of a scenario's evaluation job.
Inputs A scenario identifier.
When to use After trigger_scenario_evaluation to know when results are ready, or before triggering to check whether an evaluation is already pending.
Returns Job status such as READY, FAILED, or PENDING, plus error details when failed.
Pre-conditions The scenario must exist.
data-slots=heading, text, table

Delete scenario plan (delete_scenario_plan)

Permanently delete a Marketing Campaign Analytics scenario.
Table
Field Details
What it does Removes a scenario and its evaluation results.
Inputs A scenario identifier and confirm=true.
When to use To clean up test or experimental scenarios once you are done with them. Deletion is permanent and cannot be undone.
Returns A deletion confirmation when the scenario is removed.
Pre-conditions The scenario must exist, and the call must include confirm=true.
Notes This is destructive and irreversible; deleting a non-existent scenario raises a not-found error rather than a silent no-op.