attribution-report
Run multi-touch attribution analysis. Use when: first/last-touch, linear, time-decay, position-based revenue allocation.
What this skill does
# /digital-marketing-pro:attribution-report
## GA4 AI Assistant channel (added 13 May 2026)
When generating attribution reports against a GA4 property, the **AI Assistant** default channel group is now a first-class channel. GA4 automatically categorizes sessions referred by ChatGPT, Gemini, Claude, and other recognized AI assistants under this channel (and sets `Medium=ai-assistant`). For any brand running an AEO program, include the AI Assistant channel in the channel set and compare its contribution across all attribution models (first-touch, last-touch, linear, time-decay, position-based, data-driven).
The model-comparison view is especially informative here: AI Assistant traffic often shows wildly different credit under first-touch vs last-touch because users frequently *discover* a brand via an AI assistant but convert via a later branded search or direct visit. Don't conclude "AI search doesn't drive revenue" from a last-touch number alone.
Source: [GA4 default channel groups](https://support.google.com/analytics/answer/9164320?hl=en). For the upstream impression-side data, pair with `/digital-marketing-pro:gsc-ai-performance` (GSC AI Performance Report rolled out 3 June 2026, deliberately no click data — so GA4 is your click attribution surface).
## Purpose
Generate multi-touch attribution analysis showing how different marketing channels and campaigns contribute to conversions. Compare multiple attribution models side-by-side, allocate revenue across touchpoints, and provide actionable budget reallocation recommendations based on true channel contribution. This command moves beyond simplistic last-click attribution to reveal the full customer journey — identifying which channels drive awareness, which nurture consideration, and which close conversions — so marketing budgets can be allocated based on actual contribution rather than positional bias.
## Input Required
The user must provide (or will be prompted for):
- **Attribution models to compare**: Two or more models to run side-by-side — `first-touch` (100% credit to the first interaction that initiated the journey), `last-touch` (100% credit to the final interaction before conversion), `linear` (equal credit distributed across all touchpoints), `time-decay` (exponentially more credit to touchpoints closer to conversion, with configurable half-life — default 7 days), `position-based` (40% to first touch, 40% to last touch, 20% distributed across middle interactions), or `data-driven` (algorithmic allocation based on conversion path patterns and counterfactual analysis). At least two models should be compared to reveal attribution bias
- **Conversion events to attribute**: The conversion actions to analyze — `purchases` (completed transactions with revenue), `signups` (account or trial creation), `leads` (form submissions, demo requests, contact inquiries), or `custom events` (user-defined conversion points with optional revenue values). Multiple conversion events can be analyzed simultaneously with separate attribution for each
- **Time period**: The analysis window — specific date range, relative period (last 30 days, last quarter), or year-over-year comparison. Longer periods provide more conversion paths for reliable model comparison but may include seasonal distortions
- **Conversion window**: The lookback window for attributing touchpoints to a conversion — `7 days` (short-cycle purchases, impulse buys), `14 days` (standard eCommerce), `30 days` (B2B lead gen, considered purchases), or `90 days` (enterprise B2B, high-value purchases with long sales cycles). Touchpoints outside the conversion window are excluded from attribution
- **Channels to include**: Which marketing channels to attribute across — paid search, paid social, organic search, direct, email, referral, display, video, affiliate, or specific campaign groups. All channels are included by default unless the user restricts scope
## Process
1. **Load brand context**: Read `~/.claude-marketing/brands/_active-brand.json` for the active slug, then load `~/.claude-marketing/brands/{slug}/profile.json`. Apply business model context (SaaS, eCommerce, B2B) to set appropriate default conversion window and model recommendations. Check for guidelines at `~/.claude-marketing/brands/{slug}/guidelines/_manifest.json`. If no brand exists, ask: "Set up a brand first (/digital-marketing-pro:brand-setup)?" — or proceed with defaults.
2. **Gather conversion path data from analytics MCPs**: Pull multi-touch journey data from connected sources — Google Analytics MCP for conversion paths, multi-channel funnel reports, and assisted conversion data; Google Ads MCP for search attribution reports and cross-network attribution; Meta MCP for view-through and click-through attribution data; CRM MCP for deal stage progression with marketing touchpoint timestamps. Merge touchpoints into unified customer journeys, deduplicating cross-platform overlap where the same interaction is recorded by multiple sources.
3. **Apply each selected attribution model to the data**: Run every requested model against the unified conversion path dataset. First-touch: assign 100% of conversion value to the first recorded touchpoint in each journey. Last-touch: assign 100% to the final touchpoint before conversion. Linear: divide conversion value equally among all touchpoints (n touchpoints each receive 1/n credit). Time-decay: apply exponential decay from conversion backward with the configured half-life — a touchpoint at one half-life distance receives 50% of the credit of the converting touchpoint, two half-lives receives 25%, and so on, then normalize to 100%. Position-based: assign 40% to first, 40% to last, distribute remaining 20% equally across middle touchpoints. Data-driven: analyze conversion path patterns to identify which channel sequences have statistically higher conversion rates, then allocate credit proportional to each channel's incremental contribution.
4. **Calculate per-channel revenue attribution under each model**: For every channel and every model, compute: total attributed revenue (sum of credited conversion values), number of attributed conversions (fractional — a conversion credited 40% counts as 0.4), cost per attributed conversion (channel spend divided by attributed conversions), and attributed ROAS (attributed revenue divided by channel spend). Present as a matrix with channels as rows and models as columns for direct comparison.
5. **Compare models and identify attribution shifts**: Calculate how each channel's credit changes across models. Channels that receive significantly more credit under first-touch than last-touch are awareness drivers — they initiate journeys but don't close them. Channels that receive more credit under last-touch are conversion closers. Channels with consistent credit across models are reliable full-funnel performers. Quantify the shift as percentage change in attributed revenue from first-touch to last-touch for each channel.
6. **Generate budget reallocation recommendations**: Based on the model comparison, identify undervalued channels — those receiving minimal last-touch credit but significant first-touch or linear credit, indicating they drive awareness and assist conversions but are penalized by default last-click reporting. Recommend budget increases for undervalued channels and provide projected impact estimates. Identify overvalued channels — those receiving inflated last-touch credit relative to their first-touch contribution — and recommend efficiency investigation rather than blind budget cuts, since they may still be essential closers.
7. **Calculate assisted conversions ratio**: For each channel, compute the assisted-to-last-touch ratio — the number of conversions where the channel appeared in the path but was not the last touch, divided by the number where it was the last touch. Channels with ratios above 1.0 assist more than they close (awareness and consideration drivers). Channels below 1Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.