Matomo · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Matomo Reporting API for plugin Marketing Campaigns…

12 actions 12 updates phrasing extends openapi/matomo-marketingcampaignsreporting-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Matomo's API. It is a proposal applied on top of the contract, not a document Matomo publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 12

$.info
$.paths['/index.php?module=API&method=MarketingCampaignsReporting.getId'].get
$.paths['/index.php?module=API&method=MarketingCampaignsReporting.getName'].get
$.paths['/index.php?module=API&method=MarketingCampaignsReporting.getKeywordContentFromNameId'].get
$.paths['/index.php?module=API&method=MarketingCampaignsReporting.getKeyword'].get
$.paths['/index.php?module=API&method=MarketingCampaignsReporting.getSource'].get
$.paths['/index.php?module=API&method=MarketingCampaignsReporting.getMedium'].get
$.paths['/index.php?module=API&method=MarketingCampaignsReporting.getContent'].get
$.paths['/index.php?module=API&method=MarketingCampaignsReporting.getGroup'].get
$.paths['/index.php?module=API&method=MarketingCampaignsReporting.getPlacement'].get
$.paths['/index.php?module=API&method=MarketingCampaignsReporting.getSourceMedium'].get
$.paths['/index.php?module=API&method=MarketingCampaignsReporting.getNameFromSourceMediumId'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Matomo Reporting API for plugin Marketing Campaigns…
  version: 1.0.0
extends: openapi/matomo-marketingcampaignsreporting-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 11
- target: $.paths['/index.php?module=API&method=MarketingCampaignsReporting.getId'].get
  update:
    x-apievangelist-phrasing:
      intent: Report campaign performance by campaign ID
      effect: read
      questions:
      - How are my campaigns performing when grouped by campaign ID?
      - Can I see visits and conversions per utm_id value?
      instructions:
      - text: Get campaign metrics by campaign ID for site {idSite}, {period} {date}.
        slots:
          idSite: query.idSite
          period: query.period
          date: query.date
      - text: Break down campaign traffic by ID on site {idSite} for {period} {date}, segment {segment}.
        slots:
          idSite: query.idSite
          period: query.period
          date: query.date
          segment: query.segment
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=MarketingCampaignsReporting.getName'].get
  update:
    x-apievangelist-phrasing:
      intent: Report campaign performance by campaign name
      effect: read
      questions:
      - Which marketing campaign brought the most visits last month in Matomo?
      - Can I get campaign names with their keyword and content rows expanded?
      instructions:
      - text: Get campaign metrics by campaign name for site {idSite}, {period} {date}.
        slots:
          idSite: query.idSite
          period: query.period
          date: query.date
      - text: List campaign names for site {idSite}, {period} {date}, flattened with their subtables.
        slots:
          idSite: query.idSite
          period: query.period
          date: query.date
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=MarketingCampaignsReporting.getKeywordContentFromNameId'].get
  update:
    x-apievangelist-phrasing:
      intent: Drill into one campaign's keywords and content
      effect: read
      questions:
      - For one specific campaign, which keywords and ad content drove traffic?
      - Can I drill into a campaign name row to see its keyword breakdown?
      instructions:
      - text: Get keyword and content rows for campaign subtable {idSubtable} on site {idSite}, {period} {date}.
        slots:
          idSubtable: query.idSubtable
          idSite: query.idSite
          period: query.period
          date: query.date
      - text: Drill into campaign row {idSubtable} for site {idSite} ({period} {date}) to show its keywords.
        slots:
          idSubtable: query.idSubtable
          idSite: query.idSite
          period: query.period
          date: query.date
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=MarketingCampaignsReporting.getKeyword'].get
  update:
    x-apievangelist-phrasing:
      intent: Report campaign performance by keyword
      effect: read
      questions:
      - Which campaign keywords (utm_term) bring the best traffic across all campaigns?
      - What are the top campaign keywords this week?
      instructions:
      - text: Get campaign metrics by keyword for site {idSite}, {period} {date}.
        slots:
          idSite: query.idSite
          period: query.period
          date: query.date
      - text: Rank all campaign keywords on site {idSite} for {period} {date}.
        slots:
          idSite: query.idSite
          period: query.period
          date: query.date
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=MarketingCampaignsReporting.getSource'].get
  update:
    x-apievangelist-phrasing:
      intent: Report campaign performance by source
      effect: read
      questions:
      - Which campaign sources like newsletter or facebook send the most visitors?
      - Can I compare utm_source values for my campaigns?
      instructions:
      - text: Get campaign metrics by source for site {idSite}, {period} {date}.
        slots:
          idSite: query.idSite
          period: query.period
          date: query.date
      - text: Show campaign traffic per utm_source on site {idSite} for {period} {date}.
        slots:
          idSite: query.idSite
          period: query.period
          date: query.date
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=MarketingCampaignsReporting.getMedium'].get
  update:
    x-apievangelist-phrasing:
      intent: Report campaign performance by medium
      effect: read
      questions:
      - Does email or cpc perform better as a campaign medium?
      - Can I see results grouped by utm_medium on its own?
      instructions:
      - text: Get campaign metrics by medium for site {idSite}, {period} {date}.
        slots:
          idSite: query.idSite
          period: query.period
          date: query.date
      - text: Compare campaign mediums on site {idSite} for {period} {date}.
        slots:
          idSite: query.idSite
          period: query.period
          date: query.date
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=MarketingCampaignsReporting.getContent'].get
  update:
    x-apievangelist-phrasing:
      intent: Report campaign performance by content
      effect: read
      questions:
      - Which ad variation or link (utm_content) got the most clicks across campaigns?
      - How do I compare different campaign creatives?
      instructions:
      - text: Get campaign metrics by content for site {idSite}, {period} {date}.
        slots:
          idSite: query.idSite
          period: query.period
          date: query.date
      - text: Show performance of each campaign content variant on site {idSite}, {period} {date}.
        slots:
          idSite: query.idSite
          period: query.period
          date: query.date
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=MarketingCampaignsReporting.getGroup'].get
  update:
    x-apievangelist-phrasing:
      intent: Report campaign performance by group
      effect: read
      questions:
      - How do my campaign groups compare against each other?
      - Can I roll up campaign results by the utm group parameter?
      instructions:
      - text: Get campaign metrics by group for site {idSite}, {period} {date}.
        slots:
          idSite: query.idSite
          period: query.period
          date: query.date
      - text: Show campaign group results for site {idSite} over {period} {date}.
        slots:
          idSite: query.idSite
          period: query.period
          date: query.date
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=MarketingCampaignsReporting.getPlacement'].get
  update:
    x-apievangelist-phrasing:
      intent: Report campaign performance by placement
      effect: read
      questions:
      - Which ad placements are sending the best campaign traffic?
      - Can I see campaign metrics broken down by placement?
      instructions:
      - text: Get campaign metrics by placement for site {idSite}, {period} {date}.
        slots:
          idSite: query.idSite
          period: query.period
          date: query.date
      - text: Compare ad placements for campaigns on site {idSite}, {period} {date}.
        slots:
          idSite: query.idSite
          period: query.period
          date: query.date
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=MarketingCampaignsReporting.getSourceMedium'].get
  update:
    x-apievangelist-phrasing:
      intent: Report campaigns by source and medium pairs
      effect: read
      questions:
      - What do my campaigns look like as source / medium combinations?
      - Can I see a source-medium report with campaign names nested underneath?
      instructions:
      - text: Get the campaign source / medium report for site {idSite}, {period} {date}.
        slots:
          idSite: query.idSite
          period: query.period
          date: query.date
      - text: Show source-medium pairs for site {idSite}, {period} {date}, expanded to include campaign names.
        slots:
          idSite: query.idSite
          period: query.period
          date: query.date
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=MarketingCampaignsReporting.getNameFromSourceMediumId'].get
  update:
    x-apievangelist-phrasing:
      intent: Drill into campaign names for a source/medium
      effect: read
      questions:
      - Which campaigns are behind one specific source and medium pair?
      - Can I expand a source-medium row to see campaign names?
      instructions:
      - text: Get campaign names for source/medium subtable {idSubtable} on site {idSite}, {period} {date}.
        slots:
          idSubtable: query.idSubtable
          idSite: query.idSite
          period: query.period
          date: query.date
      - text: Drill into source-medium row {idSubtable} on site {idSite} ({period} {date}) to list its campaigns.
        slots:
          idSubtable: query.idSubtable
          idSite: query.idSite
          period: query.period
          date: query.date
      method: generated
      generated: '2026-10-01'