{"id":"dc15c14e-cf26-4b75-b1fc-a7a4c1f0be8a","shortId":"4xyrBc","kind":"skill","title":"digital-marketing","tagline":"Comprehensive digital marketing: Google Ads, Analytics, SEO, campaign management, and performance analysis","description":"# Digital Marketing\n\nYou are an expert digital marketing strategist with access to Google Ads and Google Analytics data. You help with campaign management, performance analysis, audience insights, and data-driven optimization.\n\n## Available MCP Tools\n\n### Google Analytics (`analytics-mcp`)\n\nUse these tools to analyze website traffic, user behavior, and conversion data:\n\n- **`get_account_summaries`** — list all GA4 accounts and properties\n- **`get_property_details`** — fetch details for a specific property\n- **`run_report`** — execute GA Data API reports with dimensions, metrics, date ranges, and filters\n- **`run_realtime_report`** — fetch real-time visitor data\n- **`get_custom_dimensions_and_metrics`** — retrieve custom GA4 configuration\n- **`list_google_ads_links`** — list linked Google Ads accounts\n\n### Google Ads (`google-ads-mcp`)\n\nUse these tools to analyze advertising campaigns (read-only):\n\n- **`list_accessible_customers`** — list all accessible Google Ads customer IDs and account names\n- **`search`** — execute GAQL (Google Ads Query Language) queries to retrieve campaign metrics, budgets, and status\n\n## Team Mode Workflows\n\nWhen invoked with `/team`, decompose marketing tasks into parallel subtasks:\n\n### Campaign Analysis\n\n- **Worker 1**: Pull Google Ads campaign performance (impressions, clicks, conversions, ROAS)\n- **Worker 2**: Pull Google Analytics traffic data (sessions, bounce rate, conversion paths)\n- **Worker 3**: Cross-reference ad spend with on-site behavior and revenue\n- **Coordinator**: Synthesize a unified performance report with actionable recommendations\n\n### Audience Analysis\n\n- **Worker 1**: Analyze Google Ads audience demographics and affinity segments\n- **Worker 2**: Analyze GA4 user attributes, geography, and device breakdown\n- **Worker 3**: Identify high-value audience segments by conversion rate and LTV\n- **Coordinator**: Build audience personas and recommend targeting adjustments\n\n### Campaign Optimization\n\n- **Worker 1**: Identify underperforming campaigns/ad groups (high spend, low ROAS)\n- **Worker 2**: Identify top-performing keywords and search terms\n- **Worker 3**: Analyze landing page performance (bounce rate, time on page, conversion rate)\n- **Coordinator**: Produce prioritized optimization recommendations with estimated impact\n\n## Common GAQL Queries\n\nUse the `search` tool with these queries. Pass the customer ID and GAQL query string.\n\n### Campaign performance summary\n\n```sql\nSELECT campaign.name, campaign.status,\n  metrics.impressions, metrics.clicks, metrics.cost_micros,\n  metrics.conversions, metrics.conversions_value\nFROM campaign\nWHERE segments.date DURING LAST_30_DAYS\nORDER BY metrics.cost_micros DESC\n```\n\n### Top keywords by conversion\n\n```sql\nSELECT ad_group_criterion.keyword.text,\n  metrics.impressions, metrics.clicks,\n  metrics.conversions, metrics.cost_micros\nFROM keyword_view\nWHERE segments.date DURING LAST_30_DAYS\n  AND metrics.conversions > 0\nORDER BY metrics.conversions DESC\nLIMIT 50\n```\n\n### Search terms report\n\n```sql\nSELECT search_term_view.search_term,\n  metrics.impressions, metrics.clicks,\n  metrics.conversions, metrics.cost_micros\nFROM search_term_view\nWHERE segments.date DURING LAST_7_DAYS\nORDER BY metrics.impressions DESC\nLIMIT 100\n```\n\n### Ad group performance\n\n```sql\nSELECT ad_group.name, campaign.name,\n  metrics.impressions, metrics.clicks,\n  metrics.conversions, metrics.cost_micros,\n  metrics.average_cpc\nFROM ad_group\nWHERE segments.date DURING LAST_30_DAYS\nORDER BY metrics.cost_micros DESC\n```\n\n## Common GA4 Report Patterns\n\n### Traffic by source/medium\n\n```json\n{\n  \"dimensions\": [{ \"name\": \"sessionSource\" }, { \"name\": \"sessionMedium\" }],\n  \"metrics\": [{ \"name\": \"sessions\" }, { \"name\": \"conversions\" }, { \"name\": \"totalRevenue\" }],\n  \"dateRanges\": [{ \"startDate\": \"30daysAgo\", \"endDate\": \"today\" }],\n  \"orderBys\": [{ \"metric\": { \"metricName\": \"sessions\" }, \"desc\": true }],\n  \"limit\": 20\n}\n```\n\n### Landing page performance\n\n```json\n{\n  \"dimensions\": [{ \"name\": \"landingPage\" }],\n  \"metrics\": [\n    { \"name\": \"sessions\" },\n    { \"name\": \"bounceRate\" },\n    { \"name\": \"averageSessionDuration\" },\n    { \"name\": \"conversions\" }\n  ],\n  \"dateRanges\": [{ \"startDate\": \"30daysAgo\", \"endDate\": \"today\" }],\n  \"orderBys\": [{ \"metric\": { \"metricName\": \"sessions\" }, \"desc\": true }],\n  \"limit\": 25\n}\n```\n\n### Conversion funnel\n\n```json\n{\n  \"dimensions\": [{ \"name\": \"eventName\" }],\n  \"metrics\": [{ \"name\": \"eventCount\" }, { \"name\": \"totalUsers\" }],\n  \"dateRanges\": [{ \"startDate\": \"7daysAgo\", \"endDate\": \"today\" }],\n  \"dimensionFilter\": {\n    \"filter\": {\n      \"fieldName\": \"eventName\",\n      \"inListFilter\": {\n        \"values\": [\"page_view\", \"add_to_cart\", \"begin_checkout\", \"purchase\"]\n      }\n    }\n  }\n}\n```\n\n## Analysis Guidelines\n\n1. **Always compare periods** — show week-over-week or month-over-month trends, not just absolute numbers\n2. **Calculate derived metrics** — ROAS (revenue / cost), CPA (cost / conversions), CTR (clicks / impressions)\n3. **Segment data** — break down by device, geography, audience, or campaign type for actionable insights\n4. **Cost in dollars** — Google Ads reports cost in micros (millionths of currency unit). Divide by 1,000,000 for display\n5. **Attribution context** — note that GA4 uses data-driven attribution by default; Google Ads uses last-click within Google\n6. **Actionable recommendations** — every analysis should end with specific, prioritized next steps\n\n## MCP Server Setup\n\nThese MCP servers must be configured in `.nomos/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"analytics-mcp\": {\n      \"command\": \"pipx\",\n      \"args\": [\"run\", \"analytics-mcp\"],\n      \"env\": {\n        \"GOOGLE_APPLICATION_CREDENTIALS\": \"/path/to/credentials.json\",\n        \"GOOGLE_PROJECT_ID\": \"your-project-id\"\n      }\n    },\n    \"google-ads-mcp\": {\n      \"command\": \"pipx\",\n      \"args\": [\n        \"run\",\n        \"--spec\",\n        \"git+https://github.com/googleads/google-ads-mcp.git\",\n        \"google-ads-mcp\"\n      ],\n      \"env\": {\n        \"GOOGLE_APPLICATION_CREDENTIALS\": \"/path/to/credentials.json\",\n        \"GOOGLE_PROJECT_ID\": \"your-project-id\",\n        \"GOOGLE_ADS_DEVELOPER_TOKEN\": \"your-developer-token\"\n      }\n    }\n  }\n}\n```\n\nSee [Google Analytics MCP](https://github.com/googleanalytics/google-analytics-mcp) and [Google Ads MCP](https://developers.google.com/google-ads/api/docs/developer-toolkit/mcp-server) for full setup guides.","tags":["digital","marketing","nomos","project-nomos","agent-memory","agent-skills","agentic-ai","ai-agents","ai-assistant","autonomous-agents","claude","claude-ai"],"capabilities":["skill","source-project-nomos","skill-digital-marketing","topic-agent-memory","topic-agent-skills","topic-agentic-ai","topic-ai-agents","topic-ai-assistant","topic-autonomous-agents","topic-claude","topic-claude-ai","topic-claude-code","topic-claude-skills","topic-digital-clone","topic-llm"],"categories":["nomos"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/project-nomos/nomos/digital-marketing","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add project-nomos/nomos","source_repo":"https://github.com/project-nomos/nomos","install_from":"skills.sh"}},"qualityScore":"0.457","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 14 github stars · SKILL.md body (6,397 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T01:02:18.428Z","embedding":null,"createdAt":"2026-04-21T19:04:07.456Z","updatedAt":"2026-04-22T01:02:18.428Z","lastSeenAt":"2026-04-22T01:02:18.428Z","tsv":"'/google-ads/api/docs/developer-toolkit/mcp-server)':729 '/googleads/google-ads-mcp.git':691 '/googleanalytics/google-analytics-mcp)':722 '/path/to/credentials.json':671,700 '/team':177 '0':386 '000':607,608 '1':187,235,278,543,606 '100':420 '2':198,245,288,562 '20':481 '25':510 '3':210,255,298,575 '30':356,382,442 '30daysago':471,500 '4':590 '5':611 '50':392 '6':632 '7':413 '7daysago':524 'absolut':560 'access':26,144,148 'account':69,74,126,154 'action':230,588,633 'ad':8,29,120,125,128,131,150,160,190,214,238,421,436,595,625,681,694,709,725 'ad_group.name':426 'ad_group_criterion.keyword.text':369 'add':535 'adjust':274 'advertis':138 'affin':242 'alway':544 'analysi':15,40,185,233,541,636 'analyt':9,32,52,54,201,658,665,718 'analytics-mcp':53,657,664 'analyz':60,137,236,246,299 'api':91 'applic':669,698 'arg':662,685 'attribut':249,612,621 'audienc':41,232,239,260,269,583 'avail':48 'averagesessiondur':495 'begin':538 'behavior':64,220 'bounc':205,303 'bouncer':493 'break':578 'breakdown':253 'budget':168 'build':268 'calcul':563 'campaign':11,37,139,166,184,191,275,336,351,585 'campaign.name':341,427 'campaign.status':342 'campaigns/ad':281 'cart':537 'checkout':539 'click':194,573,629 'command':660,683 'common':318,449 'compar':545 'comprehens':4 'configur':117,652 'context':613 'convers':66,195,207,263,308,366,466,497,511,571 'coordin':223,267,310 'cost':568,570,591,597 'cpa':569 'cpc':434 'credenti':670,699 'cross':212 'cross-refer':211 'ctr':572 'currenc':602 'custom':110,115,145,151,330 'data':33,45,67,90,108,203,577,619 'data-driven':44,618 'date':96 'daterang':469,498,522 'day':357,383,414,443 'decompos':178 'default':623 'demograph':240 'deriv':564 'desc':362,390,418,448,478,507 'detail':79,81 'develop':710,714 'developers.google.com':728 'developers.google.com/google-ads/api/docs/developer-toolkit/mcp-server)':727 'devic':252,581 'digit':2,5,16,22 'digital-market':1 'dimens':94,111,457,486,514 'dimensionfilt':527 'display':610 'divid':604 'dollar':593 'driven':46,620 'end':638 'enddat':472,501,525 'env':667,696 'estim':316 'eventcount':519 'eventnam':516,530 'everi':635 'execut':88,157 'expert':21 'fetch':80,103 'fieldnam':529 'filter':99,528 'full':731 'funnel':512 'ga':89 'ga4':73,116,247,450,616 'gaql':158,319,333 'geographi':250,582 'get':68,77,109 'git':688 'github.com':690,721 'github.com/googleads/google-ads-mcp.git':689 'github.com/googleanalytics/google-analytics-mcp)':720 'googl':7,28,31,51,119,124,127,130,149,159,189,200,237,594,624,631,668,672,680,693,697,701,708,717,724 'google-ads-mcp':129,679,692 'group':282,422,437 'guid':733 'guidelin':542 'help':35 'high':258,283 'high-valu':257 'id':152,331,674,678,703,707 'identifi':256,279,289 'impact':317 'impress':193,574 'inlistfilt':531 'insight':42,589 'invok':175 'json':456,485,513,655 'keyword':293,364,376 'land':300,482 'landingpag':488 'languag':162 'last':355,381,412,441,628 'last-click':627 'limit':391,419,480,509 'link':121,123 'list':71,118,122,143,146 'low':285 'ltv':266 'manag':12,38 'market':3,6,17,23,179 'mcp':49,55,132,644,648,659,666,682,695,719,726 'mcpserver':656 'metric':95,113,167,462,475,489,504,517,565 'metricnam':476,505 'metrics.average':433 'metrics.clicks':344,371,401,429 'metrics.conversions':347,348,372,385,389,402,430 'metrics.cost':345,360,373,403,431,446 'metrics.impressions':343,370,400,417,428 'micro':346,361,374,404,432,447,599 'millionth':600 'mode':172 'month':554,556 'month-over-month':553 'must':650 'name':155,458,460,463,465,467,487,490,492,494,496,515,518,520 'next':642 'nomos/mcp.json':654 'note':614 'number':561 'on-sit':217 'optim':47,276,313 'order':358,387,415,444 'orderbi':474,503 'page':301,307,483,533 'parallel':182 'pass':328 'path':208 'pattern':452 'perform':14,39,192,227,292,302,337,423,484 'period':546 'persona':270 'pipx':661,684 'priorit':312,641 'produc':311 'project':673,677,702,706 'properti':76,78,85 'pull':188,199 'purchas':540 'queri':161,163,320,327,334 'rang':97 'rate':206,264,304,309 'read':141 'read-on':140 'real':105 'real-tim':104 'realtim':101 'recommend':231,272,314,634 'refer':213 'report':87,92,102,228,395,451,596 'retriev':114,165 'revenu':222,567 'roa':196,286,566 'run':86,100,663,686 'search':156,295,323,393,406 'search_term_view.search':398 'see':716 'segment':243,261,576 'segments.date':353,379,410,439 'select':340,368,397,425 'seo':10 'server':645,649 'session':204,464,477,491,506 'sessionmedium':461 'sessionsourc':459 'setup':646,732 'show':547 'site':219 'skill' 'skill-digital-marketing' 'source-project-nomos' 'source/medium':455 'spec':687 'specif':84,640 'spend':215,284 'sql':339,367,396,424 'startdat':470,499,523 'status':170 'step':643 'strategist':24 'string':335 'subtask':183 'summari':70,338 'synthes':224 'target':273 'task':180 'team':171 'term':296,394,399,407 'time':106,305 'today':473,502,526 'token':711,715 'tool':50,58,135,324 'top':291,363 'top-perform':290 'topic-agent-memory' 'topic-agent-skills' 'topic-agentic-ai' 'topic-ai-agents' 'topic-ai-assistant' 'topic-autonomous-agents' 'topic-claude' 'topic-claude-ai' 'topic-claude-code' 'topic-claude-skills' 'topic-digital-clone' 'topic-llm' 'totalrevenu':468 'totalus':521 'traffic':62,202,453 'trend':557 'true':479,508 'type':586 'underperform':280 'unifi':226 'unit':603 'use':56,133,321,617,626 'user':63,248 'valu':259,349,532 'view':377,408,534 'visitor':107 'websit':61 'week':549,551 'week-over-week':548 'within':630 'worker':186,197,209,234,244,254,277,287,297 'workflow':173 'your-developer-token':712 'your-project-id':675,704","prices":[{"id":"1bd16211-d7dd-478f-8c3d-2ea63c14848e","listingId":"dc15c14e-cf26-4b75-b1fc-a7a4c1f0be8a","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"project-nomos","category":"nomos","install_from":"skills.sh"},"createdAt":"2026-04-21T19:04:07.456Z"}],"sources":[{"listingId":"dc15c14e-cf26-4b75-b1fc-a7a4c1f0be8a","source":"github","sourceId":"project-nomos/nomos/digital-marketing","sourceUrl":"https://github.com/project-nomos/nomos/tree/main/skills/digital-marketing","isPrimary":false,"firstSeenAt":"2026-04-21T19:04:07.456Z","lastSeenAt":"2026-04-22T01:02:18.428Z"}],"details":{"listingId":"dc15c14e-cf26-4b75-b1fc-a7a4c1f0be8a","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"project-nomos","slug":"digital-marketing","github":{"repo":"project-nomos/nomos","stars":14,"topics":["agent-memory","agent-skills","agentic-ai","ai-agents","ai-assistant","autonomous-agents","claude","claude-ai","claude-code","claude-skills","digital-clone","llm","mcp","multi-agent","multi-agent-systems","ollama","self-hosted"],"license":"mit","html_url":"https://github.com/project-nomos/nomos","pushed_at":"2026-04-18T00:18:33Z","description":"Your AI digital clone — learns who you are, acts on your behalf, remembers everything. Persistent vector memory, multi-agent teams, 60+ skills, smart model routing. Self-hosted, encrypted, multi-provider (Claude/Ollama/OpenRouter). Deploy to Slack, Discord, Telegram, WhatsApp & more in minutes.","skill_md_sha":"7a265d1a8be9c02238d478387a7768e7b38796e0","skill_md_path":"skills/digital-marketing/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/project-nomos/nomos/tree/main/skills/digital-marketing"},"layout":"multi","source":"github","category":"nomos","frontmatter":{"name":"digital-marketing","description":"Comprehensive digital marketing: Google Ads, Analytics, SEO, campaign management, and performance analysis"},"skills_sh_url":"https://skills.sh/project-nomos/nomos/digital-marketing"},"updatedAt":"2026-04-22T01:02:18.428Z"}}