Integritetsinställningar

Nödvändiga funktioner

Krävs för säkerhet och webbplatsens grundfunktioner.

Alltid aktiva

Landing-diagnostik och maskerad inspelning

Mäter offentliga besök, avhopp och interaktioner med registreringslänkar med ett anonymt ID som bara gäller i denna flik, utan kontokoppling. All text maskeras och formulär blockeras.

Valfri användningsanalys

Tillåta användningsanalys med PostHog? Ändra ditt val när som helst i sidfoten.

Tillåt även sessionsinspelning på den här offentliga webbplatsen

Inspelning i det valfria läget mellan webbplatser visar offentliga sidor och interaktioner, med inmatningar och privat innehåll maskerade. Inspelning i appen är ett separat val.

Kräver valfri analys; inspelning i detta läge mellan webbplatser är avstängd som standard. Landing-läget ovan körs separat.

Webbläsaranalys aktiverar inte kontoanalys.

Sökningen laddas först när du använder den. Bläddra bland alla kategorier nedan.

MCP-verktyg

Analysera annonsresultat

sosoapi_ads_performance_analyze

Analysera en avgränsad rapport om betald annonsering från kunden, med uttrycklig attribuering och exakt källhash. Ger ingen leverantörsåtkomst eller något påstående om kausal lönsamhet.

Läs som Markdown

Profiler och transporter

Profiler: full · Transporter: stdio, http

Välj core eller full för att styra vilka verktyg klienten ser; detta ändrar inte dess behörigheter. Lokal filuppladdning kräver stdio och är inte tillgänglig via HTTP. Ange SOSOAPI_OUTPUT_SCHEMAS=1 för att inkludera utdatascheman vid identifiering. Verktygen returnerar strukturerade resultat med eller utan inställningen.

Behörigheter och sidoeffekter

Annoteringar hjälper klienter att beskriva ett verktyg. Varje anrop kontrollerar fortfarande användarens autentisering, roll, resursåtkomst och tilldelade funktionsbehörigheter.

{
  "readOnlyHint": true,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}

Indatafält

Obligatoriskt betyder obligatoriskt inom sitt överordnade objekt och vald gren. Ett obligatoriskt underfält gör inte ett valfritt överordnat objekt obligatoriskt. Regler och fältnamn nedan kopieras från kontraktet.

Indatafält
Fält / grenTyp / obligatorisktBegränsningar
$objectObligatoriskt i överordnat objekt
  • additionalProperties: false
workspace_idstringObligatoriskt i överordnat objekt
  • format: "uuid"
source_kindstringObligatoriskt i överordnat objekt
  • enum: ["customer_import","official_meta_api"]
source_idstringObligatoriskt i överordnat objekt
  • minLength: 1
  • maxLength: 100
provider_api_versionstringObligatoriskt i överordnat objekt
  • enum: ["v26.0"]
provider_account_idstringObligatoriskt i överordnat objekt
  • pattern: "^[1-9]\\d{1,24}$"
currencystringObligatoriskt i överordnat objekt
  • pattern: "^[A-Z]{3}$"
timezonestringObligatoriskt i överordnat objekt
  • minLength: 1
  • maxLength: 100
levelstringObligatoriskt i överordnat objekt
  • enum: ["campaign","adset","ad"]
start_datestringObligatoriskt i överordnat objekt
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
end_datestringObligatoriskt i överordnat objekt
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
action_attribution_windowsarrayObligatoriskt i överordnat objekt
  • minItems: 1
  • maxItems: 1
action_attribution_windows[]stringValfritt / objekt
  • enum: ["1d_click","7d_click","1d_view"]
action_report_timestringObligatoriskt i överordnat objekt
  • enum: ["impression","conversion"]
conversion_action_typestringObligatoriskt i överordnat objekt
  • pattern: "^[a-z][a-z0-9_.]{0,99}$"
revenue_action_typestringObligatoriskt i överordnat objekt
  • pattern: "^[a-z][a-z0-9_.]{0,99}$"
completebooleanObligatoriskt i överordnat objekt—
rowsarrayObligatoriskt i överordnat objekt
  • maxItems: 500
rows[]objectValfritt / objekt
  • additionalProperties: false
rows[].account_idstringObligatoriskt i överordnat objekt
  • pattern: "^[1-9]\\d{1,24}$"
rows[].account_currencystringObligatoriskt i överordnat objekt
  • pattern: "^[A-Z]{3}$"
rows[].campaign_idstringObligatoriskt i överordnat objekt
  • pattern: "^[1-9]\\d{1,24}$"
rows[].campaign_namestringValfritt / objekt
  • maxLength: 200
rows[].adset_idstringValfritt / objekt
  • pattern: "^[1-9]\\d{1,24}$"
rows[].ad_idstringValfritt / objekt
  • pattern: "^[1-9]\\d{1,24}$"
rows[].date_startstringObligatoriskt i överordnat objekt
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
rows[].date_stopstringObligatoriskt i överordnat objekt
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
rows[].spendstringValfritt / objekt
  • pattern: "^\\d{1,12}(?:\\.\\d{1,6})?$"
rows[].clicksstringValfritt / objekt
  • pattern: "^\\d{1,15}$"
rows[].actionsarrayValfritt / objekt
  • maxItems: 100
rows[].actions[]objectValfritt / objekt
  • additionalProperties: false
rows[].actions[].action_typestringObligatoriskt i överordnat objekt
  • pattern: "^[a-z][a-z0-9_.]{0,99}$"
rows[].actions[].valuestringValfritt / objekt
  • pattern: "^\\d{1,12}(?:\\.\\d{1,6})?$"
rows[].actions[].1d_clickstringValfritt / objekt
  • pattern: "^\\d{1,12}(?:\\.\\d{1,6})?$"
rows[].actions[].7d_clickstringValfritt / objekt
  • pattern: "^\\d{1,12}(?:\\.\\d{1,6})?$"
rows[].actions[].1d_viewstringValfritt / objekt
  • pattern: "^\\d{1,12}(?:\\.\\d{1,6})?$"
rows[].action_valuesarrayValfritt / objekt
  • maxItems: 100
rows[].action_values[]objectValfritt / objekt
  • additionalProperties: false
rows[].action_values[].action_typestringObligatoriskt i överordnat objekt
  • pattern: "^[a-z][a-z0-9_.]{0,99}$"
rows[].action_values[].valuestringValfritt / objekt
  • pattern: "^\\d{1,12}(?:\\.\\d{1,6})?$"
rows[].action_values[].1d_clickstringValfritt / objekt
  • pattern: "^\\d{1,12}(?:\\.\\d{1,6})?$"
rows[].action_values[].7d_clickstringValfritt / objekt
  • pattern: "^\\d{1,12}(?:\\.\\d{1,6})?$"
rows[].action_values[].1d_viewstringValfritt / objekt
  • pattern: "^\\d{1,12}(?:\\.\\d{1,6})?$"
Fullständigt JSON Schema
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "source_kind": {
      "type": "string",
      "enum": [
        "customer_import",
        "official_meta_api"
      ]
    },
    "source_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "provider_api_version": {
      "type": "string",
      "enum": [
        "v26.0"
      ]
    },
    "provider_account_id": {
      "$ref": "#/$defs/s1"
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Z]{3}$"
    },
    "timezone": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "level": {
      "type": "string",
      "enum": [
        "campaign",
        "adset",
        "ad"
      ]
    },
    "start_date": {
      "$ref": "#/$defs/s2"
    },
    "end_date": {
      "$ref": "#/$defs/s2"
    },
    "action_attribution_windows": {
      "minItems": 1,
      "maxItems": 1,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "1d_click",
          "7d_click",
          "1d_view"
        ]
      }
    },
    "action_report_time": {
      "type": "string",
      "enum": [
        "impression",
        "conversion"
      ]
    },
    "conversion_action_type": {
      "$ref": "#/$defs/s3"
    },
    "revenue_action_type": {
      "$ref": "#/$defs/s3"
    },
    "complete": {
      "type": "boolean"
    },
    "rows": {
      "maxItems": 500,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "account_id": {
            "$ref": "#/$defs/s1"
          },
          "account_currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$"
          },
          "campaign_id": {
            "$ref": "#/$defs/s1"
          },
          "campaign_name": {
            "type": "string",
            "maxLength": 200
          },
          "adset_id": {
            "$ref": "#/$defs/s1"
          },
          "ad_id": {
            "$ref": "#/$defs/s1"
          },
          "date_start": {
            "$ref": "#/$defs/s2"
          },
          "date_stop": {
            "$ref": "#/$defs/s2"
          },
          "spend": {
            "type": "string",
            "pattern": "^\\d{1,12}(?:\\.\\d{1,6})?$"
          },
          "clicks": {
            "type": "string",
            "pattern": "^\\d{1,15}$"
          },
          "actions": {
            "$ref": "#/$defs/s0"
          },
          "action_values": {
            "$ref": "#/$defs/s0"
          }
        },
        "required": [
          "account_id",
          "account_currency",
          "campaign_id",
          "date_start",
          "date_stop"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "workspace_id",
    "source_kind",
    "source_id",
    "provider_api_version",
    "provider_account_id",
    "currency",
    "timezone",
    "level",
    "start_date",
    "end_date",
    "action_attribution_windows",
    "action_report_time",
    "conversion_action_type",
    "revenue_action_type",
    "complete",
    "rows"
  ],
  "additionalProperties": false,
  "$defs": {
    "s0": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "action_type": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_.]{0,99}$"
          },
          "value": {
            "type": "string",
            "pattern": "^\\d{1,12}(?:\\.\\d{1,6})?$"
          },
          "1d_click": {
            "type": "string",
            "pattern": "^\\d{1,12}(?:\\.\\d{1,6})?$"
          },
          "7d_click": {
            "type": "string",
            "pattern": "^\\d{1,12}(?:\\.\\d{1,6})?$"
          },
          "1d_view": {
            "type": "string",
            "pattern": "^\\d{1,12}(?:\\.\\d{1,6})?$"
          }
        },
        "required": [
          "action_type"
        ],
        "additionalProperties": false
      }
    },
    "s1": {
      "type": "string",
      "pattern": "^[1-9]\\d{1,24}$"
    },
    "s2": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "s3": {
      "type": "string",
      "pattern": "^[a-z][a-z0-9_.]{0,99}$"
    }
  }
}

Strukturerat resultat

Detta schema beskriver structuredContent i ett lyckat verktygsresultat. MCP-svaret innehåller även content och kan ange isError när ett anrop misslyckas. För publicering ska du läsa inläggets slutresultat i stället för att tolka en accepterad begäran eller ett textsvar som bekräftelse. Den länkade API-åtgärden förklarar behörigheter och regler för nya försök.

Obligatoriskt betyder obligatoriskt inom sitt överordnade objekt och vald gren. Ett obligatoriskt underfält gör inte ett valfritt överordnat objekt obligatoriskt. Regler och fältnamn nedan kopieras från kontraktet.

Strukturerat resultat
Fält / grenTyp / obligatorisktBegränsningar
$objectObligatoriskt i överordnat objekt
  • additionalProperties: false
contract_versionstringObligatoriskt i överordnat objekt
  • const: "ad-performance/v1"
source_idstringObligatoriskt i överordnat objekt
  • maxLength: 100
source_sha256stringObligatoriskt i överordnat objekt
  • pattern: "^[a-f0-9]{64}$"
identity_verificationstringObligatoriskt i överordnat objekt
  • enum: ["customer_supplied","accepted_provider_grant"]
currencystringObligatoriskt i överordnat objekt
  • pattern: "^[A-Z]{3}$"
timezonestringObligatoriskt i överordnat objekt
  • maxLength: 100
selectionobjectObligatoriskt i överordnat objekt
  • additionalProperties: false
selection.provider_api_versionstringObligatoriskt i överordnat objekt
  • const: "v26.0"
selection.provider_account_idstringObligatoriskt i överordnat objekt
  • pattern: "^[1-9]\\d{1,24}$"
selection.currencystringObligatoriskt i överordnat objekt
  • pattern: "^[A-Z]{3}$"
selection.timezonestringObligatoriskt i överordnat objekt
  • maxLength: 100
selection.levelstringObligatoriskt i överordnat objekt
  • enum: ["campaign","adset","ad"]
selection.start_datestringObligatoriskt i överordnat objekt
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
selection.end_datestringObligatoriskt i överordnat objekt
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
selection.action_attribution_windowsarrayObligatoriskt i överordnat objekt
  • minItems: 1
  • maxItems: 1
selection.action_attribution_windows[]stringValfritt / objekt
  • enum: ["1d_click","7d_click","1d_view"]
selection.action_report_timestringObligatoriskt i överordnat objekt
  • enum: ["impression","conversion"]
selection.conversion_action_typestringObligatoriskt i överordnat objekt
  • maxLength: 100
selection.revenue_action_typestringObligatoriskt i överordnat objekt
  • maxLength: 100
completebooleanObligatoriskt i överordnat objekt—
rowsarrayObligatoriskt i överordnat objekt
  • maxItems: 500
rows[]objectValfritt / objekt
  • additionalProperties: false
rows[].row_idstringObligatoriskt i överordnat objekt
  • maxLength: 100
rows[].metricsobjectObligatoriskt i överordnat objekt
  • additionalProperties: false
rows[].metrics.spendobjectObligatoriskt i överordnat objekt
  • additionalProperties: false
rows[].metrics.spend.valuestring | nullObligatoriskt i överordnat objekt—
rows[].metrics.spend.valueanyOf 1stringObligatoriskt i överordnat objekt
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
rows[].metrics.spend.valueanyOf 2nullObligatoriskt i överordnat objekt—
rows[].metrics.spend.unitstringObligatoriskt i överordnat objekt
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
rows[].metrics.spend.availabilitystringObligatoriskt i överordnat objekt
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
rows[].metrics.spend.reasonstring | nullObligatoriskt i överordnat objekt—
rows[].metrics.spend.reasonanyOf 1stringObligatoriskt i överordnat objekt
  • maxLength: 300
rows[].metrics.spend.reasonanyOf 2nullObligatoriskt i överordnat objekt—
rows[].metrics.spend.input_refsarrayObligatoriskt i överordnat objekt
  • maxItems: 2000
rows[].metrics.spend.input_refs[]stringValfritt / objekt
  • maxLength: 300
rows[].metrics.clicksobjectObligatoriskt i överordnat objekt
  • additionalProperties: false
rows[].metrics.clicks.valuestring | nullObligatoriskt i överordnat objekt—
rows[].metrics.clicks.valueanyOf 1stringObligatoriskt i överordnat objekt
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
rows[].metrics.clicks.valueanyOf 2nullObligatoriskt i överordnat objekt—
rows[].metrics.clicks.unitstringObligatoriskt i överordnat objekt
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
rows[].metrics.clicks.availabilitystringObligatoriskt i överordnat objekt
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
rows[].metrics.clicks.reasonstring | nullObligatoriskt i överordnat objekt—
rows[].metrics.clicks.reasonanyOf 1stringObligatoriskt i överordnat objekt
  • maxLength: 300
rows[].metrics.clicks.reasonanyOf 2nullObligatoriskt i överordnat objekt—
rows[].metrics.clicks.input_refsarrayObligatoriskt i överordnat objekt
  • maxItems: 2000
rows[].metrics.clicks.input_refs[]stringValfritt / objekt
  • maxLength: 300
rows[].metrics.conversionsobjectObligatoriskt i överordnat objekt
  • additionalProperties: false
rows[].metrics.conversions.valuestring | nullObligatoriskt i överordnat objekt—
rows[].metrics.conversions.valueanyOf 1stringObligatoriskt i överordnat objekt
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
rows[].metrics.conversions.valueanyOf 2nullObligatoriskt i överordnat objekt—
rows[].metrics.conversions.unitstringObligatoriskt i överordnat objekt
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
rows[].metrics.conversions.availabilitystringObligatoriskt i överordnat objekt
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
rows[].metrics.conversions.reasonstring | nullObligatoriskt i överordnat objekt—
rows[].metrics.conversions.reasonanyOf 1stringObligatoriskt i överordnat objekt
  • maxLength: 300
rows[].metrics.conversions.reasonanyOf 2nullObligatoriskt i överordnat objekt—
rows[].metrics.conversions.input_refsarrayObligatoriskt i överordnat objekt
  • maxItems: 2000
rows[].metrics.conversions.input_refs[]stringValfritt / objekt
  • maxLength: 300
rows[].metrics.attributed_revenueobjectObligatoriskt i överordnat objekt
  • additionalProperties: false
rows[].metrics.attributed_revenue.valuestring | nullObligatoriskt i överordnat objekt—
rows[].metrics.attributed_revenue.valueanyOf 1stringObligatoriskt i överordnat objekt
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
rows[].metrics.attributed_revenue.valueanyOf 2nullObligatoriskt i överordnat objekt—
rows[].metrics.attributed_revenue.unitstringObligatoriskt i överordnat objekt
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
rows[].metrics.attributed_revenue.availabilitystringObligatoriskt i överordnat objekt
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
rows[].metrics.attributed_revenue.reasonstring | nullObligatoriskt i överordnat objekt—
rows[].metrics.attributed_revenue.reasonanyOf 1stringObligatoriskt i överordnat objekt
  • maxLength: 300
rows[].metrics.attributed_revenue.reasonanyOf 2nullObligatoriskt i överordnat objekt—
rows[].metrics.attributed_revenue.input_refsarrayObligatoriskt i överordnat objekt
  • maxItems: 2000
rows[].metrics.attributed_revenue.input_refs[]stringValfritt / objekt
  • maxLength: 300
rows[].metrics.cpcobjectObligatoriskt i överordnat objekt
  • additionalProperties: false
rows[].metrics.cpc.valuestring | nullObligatoriskt i överordnat objekt—
rows[].metrics.cpc.valueanyOf 1stringObligatoriskt i överordnat objekt
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
rows[].metrics.cpc.valueanyOf 2nullObligatoriskt i överordnat objekt—
rows[].metrics.cpc.unitstringObligatoriskt i överordnat objekt
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
rows[].metrics.cpc.availabilitystringObligatoriskt i överordnat objekt
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
rows[].metrics.cpc.reasonstring | nullObligatoriskt i överordnat objekt—
rows[].metrics.cpc.reasonanyOf 1stringObligatoriskt i överordnat objekt
  • maxLength: 300
rows[].metrics.cpc.reasonanyOf 2nullObligatoriskt i överordnat objekt—
rows[].metrics.cpc.input_refsarrayObligatoriskt i överordnat objekt
  • maxItems: 2000
rows[].metrics.cpc.input_refs[]stringValfritt / objekt
  • maxLength: 300
rows[].metrics.cpaobjectObligatoriskt i överordnat objekt
  • additionalProperties: false
rows[].metrics.cpa.valuestring | nullObligatoriskt i överordnat objekt—
rows[].metrics.cpa.valueanyOf 1stringObligatoriskt i överordnat objekt
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
rows[].metrics.cpa.valueanyOf 2nullObligatoriskt i överordnat objekt—
rows[].metrics.cpa.unitstringObligatoriskt i överordnat objekt
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
rows[].metrics.cpa.availabilitystringObligatoriskt i överordnat objekt
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
rows[].metrics.cpa.reasonstring | nullObligatoriskt i överordnat objekt—
rows[].metrics.cpa.reasonanyOf 1stringObligatoriskt i överordnat objekt
  • maxLength: 300
rows[].metrics.cpa.reasonanyOf 2nullObligatoriskt i överordnat objekt—
rows[].metrics.cpa.input_refsarrayObligatoriskt i överordnat objekt
  • maxItems: 2000
rows[].metrics.cpa.input_refs[]stringValfritt / objekt
  • maxLength: 300
rows[].metrics.attributed_roasobjectObligatoriskt i överordnat objekt
  • additionalProperties: false
rows[].metrics.attributed_roas.valuestring | nullObligatoriskt i överordnat objekt—
rows[].metrics.attributed_roas.valueanyOf 1stringObligatoriskt i överordnat objekt
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
rows[].metrics.attributed_roas.valueanyOf 2nullObligatoriskt i överordnat objekt—
rows[].metrics.attributed_roas.unitstringObligatoriskt i överordnat objekt
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
rows[].metrics.attributed_roas.availabilitystringObligatoriskt i överordnat objekt
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
rows[].metrics.attributed_roas.reasonstring | nullObligatoriskt i överordnat objekt—
rows[].metrics.attributed_roas.reasonanyOf 1stringObligatoriskt i överordnat objekt
  • maxLength: 300
rows[].metrics.attributed_roas.reasonanyOf 2nullObligatoriskt i överordnat objekt—
rows[].metrics.attributed_roas.input_refsarrayObligatoriskt i överordnat objekt
  • maxItems: 2000
rows[].metrics.attributed_roas.input_refs[]stringValfritt / objekt
  • maxLength: 300
totalsobjectObligatoriskt i överordnat objekt
  • additionalProperties: false
totals.spendobjectObligatoriskt i överordnat objekt
  • additionalProperties: false
totals.spend.valuestring | nullObligatoriskt i överordnat objekt—
totals.spend.valueanyOf 1stringObligatoriskt i överordnat objekt
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
totals.spend.valueanyOf 2nullObligatoriskt i överordnat objekt—
totals.spend.unitstringObligatoriskt i överordnat objekt
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
totals.spend.availabilitystringObligatoriskt i överordnat objekt
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
totals.spend.reasonstring | nullObligatoriskt i överordnat objekt—
totals.spend.reasonanyOf 1stringObligatoriskt i överordnat objekt
  • maxLength: 300
totals.spend.reasonanyOf 2nullObligatoriskt i överordnat objekt—
totals.spend.input_refsarrayObligatoriskt i överordnat objekt
  • maxItems: 2000
totals.spend.input_refs[]stringValfritt / objekt
  • maxLength: 300
totals.clicksobjectObligatoriskt i överordnat objekt
  • additionalProperties: false
totals.clicks.valuestring | nullObligatoriskt i överordnat objekt—
totals.clicks.valueanyOf 1stringObligatoriskt i överordnat objekt
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
totals.clicks.valueanyOf 2nullObligatoriskt i överordnat objekt—
totals.clicks.unitstringObligatoriskt i överordnat objekt
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
totals.clicks.availabilitystringObligatoriskt i överordnat objekt
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
totals.clicks.reasonstring | nullObligatoriskt i överordnat objekt—
totals.clicks.reasonanyOf 1stringObligatoriskt i överordnat objekt
  • maxLength: 300
totals.clicks.reasonanyOf 2nullObligatoriskt i överordnat objekt—
totals.clicks.input_refsarrayObligatoriskt i överordnat objekt
  • maxItems: 2000
totals.clicks.input_refs[]stringValfritt / objekt
  • maxLength: 300
totals.conversionsobjectObligatoriskt i överordnat objekt
  • additionalProperties: false
totals.conversions.valuestring | nullObligatoriskt i överordnat objekt—
totals.conversions.valueanyOf 1stringObligatoriskt i överordnat objekt
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
totals.conversions.valueanyOf 2nullObligatoriskt i överordnat objekt—
totals.conversions.unitstringObligatoriskt i överordnat objekt
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
totals.conversions.availabilitystringObligatoriskt i överordnat objekt
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
totals.conversions.reasonstring | nullObligatoriskt i överordnat objekt—
totals.conversions.reasonanyOf 1stringObligatoriskt i överordnat objekt
  • maxLength: 300
totals.conversions.reasonanyOf 2nullObligatoriskt i överordnat objekt—
totals.conversions.input_refsarrayObligatoriskt i överordnat objekt
  • maxItems: 2000
totals.conversions.input_refs[]stringValfritt / objekt
  • maxLength: 300
totals.attributed_revenueobjectObligatoriskt i överordnat objekt
  • additionalProperties: false
totals.attributed_revenue.valuestring | nullObligatoriskt i överordnat objekt—
totals.attributed_revenue.valueanyOf 1stringObligatoriskt i överordnat objekt
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
totals.attributed_revenue.valueanyOf 2nullObligatoriskt i överordnat objekt—
totals.attributed_revenue.unitstringObligatoriskt i överordnat objekt
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
totals.attributed_revenue.availabilitystringObligatoriskt i överordnat objekt
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
totals.attributed_revenue.reasonstring | nullObligatoriskt i överordnat objekt—
totals.attributed_revenue.reasonanyOf 1stringObligatoriskt i överordnat objekt
  • maxLength: 300
totals.attributed_revenue.reasonanyOf 2nullObligatoriskt i överordnat objekt—
totals.attributed_revenue.input_refsarrayObligatoriskt i överordnat objekt
  • maxItems: 2000
totals.attributed_revenue.input_refs[]stringValfritt / objekt
  • maxLength: 300
totals.cpcobjectObligatoriskt i överordnat objekt
  • additionalProperties: false
totals.cpc.valuestring | nullObligatoriskt i överordnat objekt—
totals.cpc.valueanyOf 1stringObligatoriskt i överordnat objekt
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
totals.cpc.valueanyOf 2nullObligatoriskt i överordnat objekt—
totals.cpc.unitstringObligatoriskt i överordnat objekt
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
totals.cpc.availabilitystringObligatoriskt i överordnat objekt
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
totals.cpc.reasonstring | nullObligatoriskt i överordnat objekt—
totals.cpc.reasonanyOf 1stringObligatoriskt i överordnat objekt
  • maxLength: 300
totals.cpc.reasonanyOf 2nullObligatoriskt i överordnat objekt—
totals.cpc.input_refsarrayObligatoriskt i överordnat objekt
  • maxItems: 2000
totals.cpc.input_refs[]stringValfritt / objekt
  • maxLength: 300
totals.cpaobjectObligatoriskt i överordnat objekt
  • additionalProperties: false
totals.cpa.valuestring | nullObligatoriskt i överordnat objekt—
totals.cpa.valueanyOf 1stringObligatoriskt i överordnat objekt
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
totals.cpa.valueanyOf 2nullObligatoriskt i överordnat objekt—
totals.cpa.unitstringObligatoriskt i överordnat objekt
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
totals.cpa.availabilitystringObligatoriskt i överordnat objekt
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
totals.cpa.reasonstring | nullObligatoriskt i överordnat objekt—
totals.cpa.reasonanyOf 1stringObligatoriskt i överordnat objekt
  • maxLength: 300
totals.cpa.reasonanyOf 2nullObligatoriskt i överordnat objekt—
totals.cpa.input_refsarrayObligatoriskt i överordnat objekt
  • maxItems: 2000
totals.cpa.input_refs[]stringValfritt / objekt
  • maxLength: 300
totals.attributed_roasobjectObligatoriskt i överordnat objekt
  • additionalProperties: false
totals.attributed_roas.valuestring | nullObligatoriskt i överordnat objekt—
totals.attributed_roas.valueanyOf 1stringObligatoriskt i överordnat objekt
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
totals.attributed_roas.valueanyOf 2nullObligatoriskt i överordnat objekt—
totals.attributed_roas.unitstringObligatoriskt i överordnat objekt
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
totals.attributed_roas.availabilitystringObligatoriskt i överordnat objekt
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
totals.attributed_roas.reasonstring | nullObligatoriskt i överordnat objekt—
totals.attributed_roas.reasonanyOf 1stringObligatoriskt i överordnat objekt
  • maxLength: 300
totals.attributed_roas.reasonanyOf 2nullObligatoriskt i överordnat objekt—
totals.attributed_roas.input_refsarrayObligatoriskt i överordnat objekt
  • maxItems: 2000
totals.attributed_roas.input_refs[]stringValfritt / objekt
  • maxLength: 300
gapsarrayObligatoriskt i överordnat objekt
  • maxItems: 1000
gaps[]stringValfritt / objekt
  • maxLength: 300
suggestionsarrayObligatoriskt i överordnat objekt
  • maxItems: 3
suggestions[]objectValfritt / objekt
  • additionalProperties: false
suggestions[].rule_idstringObligatoriskt i överordnat objekt
  • enum: ["supply_revenue","review_comparable_creative_test","complete_coverage"]
suggestions[].rule_versionnumberObligatoriskt i överordnat objekt
  • const: 1
suggestions[].proposalstringObligatoriskt i överordnat objekt
  • maxLength: 600
suggestions[].input_refsarrayObligatoriskt i överordnat objekt
  • maxItems: 2000
suggestions[].input_refs[]stringValfritt / objekt
  • maxLength: 300
suggestions[].limitationsstringObligatoriskt i överordnat objekt
  • const: "Observational comparison only; no causal uplift or profitability claim. Human review required."
Fullständigt JSON Schema
{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "const": "ad-performance/v1"
    },
    "source_id": {
      "type": "string",
      "maxLength": 100
    },
    "source_sha256": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "identity_verification": {
      "type": "string",
      "enum": [
        "customer_supplied",
        "accepted_provider_grant"
      ]
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Z]{3}$"
    },
    "timezone": {
      "type": "string",
      "maxLength": 100
    },
    "selection": {
      "type": "object",
      "properties": {
        "provider_api_version": {
          "type": "string",
          "const": "v26.0"
        },
        "provider_account_id": {
          "type": "string",
          "pattern": "^[1-9]\\d{1,24}$"
        },
        "currency": {
          "type": "string",
          "pattern": "^[A-Z]{3}$"
        },
        "timezone": {
          "type": "string",
          "maxLength": 100
        },
        "level": {
          "type": "string",
          "enum": [
            "campaign",
            "adset",
            "ad"
          ]
        },
        "start_date": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "end_date": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "action_attribution_windows": {
          "minItems": 1,
          "maxItems": 1,
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "1d_click",
              "7d_click",
              "1d_view"
            ]
          }
        },
        "action_report_time": {
          "type": "string",
          "enum": [
            "impression",
            "conversion"
          ]
        },
        "conversion_action_type": {
          "type": "string",
          "maxLength": 100
        },
        "revenue_action_type": {
          "type": "string",
          "maxLength": 100
        }
      },
      "required": [
        "provider_api_version",
        "provider_account_id",
        "currency",
        "timezone",
        "level",
        "start_date",
        "end_date",
        "action_attribution_windows",
        "action_report_time",
        "conversion_action_type",
        "revenue_action_type"
      ],
      "additionalProperties": false
    },
    "complete": {
      "type": "boolean"
    },
    "rows": {
      "maxItems": 500,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "row_id": {
            "type": "string",
            "maxLength": 100
          },
          "metrics": {
            "type": "object",
            "properties": {
              "spend": {
                "type": "object",
                "properties": {
                  "value": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "unit": {
                    "type": "string",
                    "enum": [
                      "currency",
                      "count",
                      "currency_per_click",
                      "currency_per_conversion",
                      "ratio"
                    ]
                  },
                  "availability": {
                    "type": "string",
                    "enum": [
                      "available",
                      "missing_input",
                      "zero_denominator",
                      "incompatible",
                      "partial"
                    ]
                  },
                  "reason": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 300
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "input_refs": {
                    "maxItems": 2000,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 300
                    }
                  }
                },
                "required": [
                  "value",
                  "unit",
                  "availability",
                  "reason",
                  "input_refs"
                ],
                "additionalProperties": false
              },
              "clicks": {
                "type": "object",
                "properties": {
                  "value": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "unit": {
                    "type": "string",
                    "enum": [
                      "currency",
                      "count",
                      "currency_per_click",
                      "currency_per_conversion",
                      "ratio"
                    ]
                  },
                  "availability": {
                    "type": "string",
                    "enum": [
                      "available",
                      "missing_input",
                      "zero_denominator",
                      "incompatible",
                      "partial"
                    ]
                  },
                  "reason": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 300
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "input_refs": {
                    "maxItems": 2000,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 300
                    }
                  }
                },
                "required": [
                  "value",
                  "unit",
                  "availability",
                  "reason",
                  "input_refs"
                ],
                "additionalProperties": false
              },
              "conversions": {
                "type": "object",
                "properties": {
                  "value": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "unit": {
                    "type": "string",
                    "enum": [
                      "currency",
                      "count",
                      "currency_per_click",
                      "currency_per_conversion",
                      "ratio"
                    ]
                  },
                  "availability": {
                    "type": "string",
                    "enum": [
                      "available",
                      "missing_input",
                      "zero_denominator",
                      "incompatible",
                      "partial"
                    ]
                  },
                  "reason": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 300
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "input_refs": {
                    "maxItems": 2000,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 300
                    }
                  }
                },
                "required": [
                  "value",
                  "unit",
                  "availability",
                  "reason",
                  "input_refs"
                ],
                "additionalProperties": false
              },
              "attributed_revenue": {
                "type": "object",
                "properties": {
                  "value": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "unit": {
                    "type": "string",
                    "enum": [
                      "currency",
                      "count",
                      "currency_per_click",
                      "currency_per_conversion",
                      "ratio"
                    ]
                  },
                  "availability": {
                    "type": "string",
                    "enum": [
                      "available",
                      "missing_input",
                      "zero_denominator",
                      "incompatible",
                      "partial"
                    ]
                  },
                  "reason": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 300
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "input_refs": {
                    "maxItems": 2000,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 300
                    }
                  }
                },
                "required": [
                  "value",
                  "unit",
                  "availability",
                  "reason",
                  "input_refs"
                ],
                "additionalProperties": false
              },
              "cpc": {
                "type": "object",
                "properties": {
                  "value": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "unit": {
                    "type": "string",
                    "enum": [
                      "currency",
                      "count",
                      "currency_per_click",
                      "currency_per_conversion",
                      "ratio"
                    ]
                  },
                  "availability": {
                    "type": "string",
                    "enum": [
                      "available",
                      "missing_input",
                      "zero_denominator",
                      "incompatible",
                      "partial"
                    ]
                  },
                  "reason": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 300
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "input_refs": {
                    "maxItems": 2000,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 300
                    }
                  }
                },
                "required": [
                  "value",
                  "unit",
                  "availability",
                  "reason",
                  "input_refs"
                ],
                "additionalProperties": false
              },
              "cpa": {
                "type": "object",
                "properties": {
                  "value": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "unit": {
                    "type": "string",
                    "enum": [
                      "currency",
                      "count",
                      "currency_per_click",
                      "currency_per_conversion",
                      "ratio"
                    ]
                  },
                  "availability": {
                    "type": "string",
                    "enum": [
                      "available",
                      "missing_input",
                      "zero_denominator",
                      "incompatible",
                      "partial"
                    ]
                  },
                  "reason": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 300
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "input_refs": {
                    "maxItems": 2000,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 300
                    }
                  }
                },
                "required": [
                  "value",
                  "unit",
                  "availability",
                  "reason",
                  "input_refs"
                ],
                "additionalProperties": false
              },
              "attributed_roas": {
                "type": "object",
                "properties": {
                  "value": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "unit": {
                    "type": "string",
                    "enum": [
                      "currency",
                      "count",
                      "currency_per_click",
                      "currency_per_conversion",
                      "ratio"
                    ]
                  },
                  "availability": {
                    "type": "string",
                    "enum": [
                      "available",
                      "missing_input",
                      "zero_denominator",
                      "incompatible",
                      "partial"
                    ]
                  },
                  "reason": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 300
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "input_refs": {
                    "maxItems": 2000,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 300
                    }
                  }
                },
                "required": [
                  "value",
                  "unit",
                  "availability",
                  "reason",
                  "input_refs"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "spend",
              "clicks",
              "conversions",
              "attributed_revenue",
              "cpc",
              "cpa",
              "attributed_roas"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "row_id",
          "metrics"
        ],
        "additionalProperties": false
      }
    },
    "totals": {
      "type": "object",
      "properties": {
        "spend": {
          "type": "object",
          "properties": {
            "value": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "unit": {
              "type": "string",
              "enum": [
                "currency",
                "count",
                "currency_per_click",
                "currency_per_conversion",
                "ratio"
              ]
            },
            "availability": {
              "type": "string",
              "enum": [
                "available",
                "missing_input",
                "zero_denominator",
                "incompatible",
                "partial"
              ]
            },
            "reason": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 300
                },
                {
                  "type": "null"
                }
              ]
            },
            "input_refs": {
              "maxItems": 2000,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 300
              }
            }
          },
          "required": [
            "value",
            "unit",
            "availability",
            "reason",
            "input_refs"
          ],
          "additionalProperties": false
        },
        "clicks": {
          "type": "object",
          "properties": {
            "value": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "unit": {
              "type": "string",
              "enum": [
                "currency",
                "count",
                "currency_per_click",
                "currency_per_conversion",
                "ratio"
              ]
            },
            "availability": {
              "type": "string",
              "enum": [
                "available",
                "missing_input",
                "zero_denominator",
                "incompatible",
                "partial"
              ]
            },
            "reason": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 300
                },
                {
                  "type": "null"
                }
              ]
            },
            "input_refs": {
              "maxItems": 2000,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 300
              }
            }
          },
          "required": [
            "value",
            "unit",
            "availability",
            "reason",
            "input_refs"
          ],
          "additionalProperties": false
        },
        "conversions": {
          "type": "object",
          "properties": {
            "value": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "unit": {
              "type": "string",
              "enum": [
                "currency",
                "count",
                "currency_per_click",
                "currency_per_conversion",
                "ratio"
              ]
            },
            "availability": {
              "type": "string",
              "enum": [
                "available",
                "missing_input",
                "zero_denominator",
                "incompatible",
                "partial"
              ]
            },
            "reason": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 300
                },
                {
                  "type": "null"
                }
              ]
            },
            "input_refs": {
              "maxItems": 2000,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 300
              }
            }
          },
          "required": [
            "value",
            "unit",
            "availability",
            "reason",
            "input_refs"
          ],
          "additionalProperties": false
        },
        "attributed_revenue": {
          "type": "object",
          "properties": {
            "value": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "unit": {
              "type": "string",
              "enum": [
                "currency",
                "count",
                "currency_per_click",
                "currency_per_conversion",
                "ratio"
              ]
            },
            "availability": {
              "type": "string",
              "enum": [
                "available",
                "missing_input",
                "zero_denominator",
                "incompatible",
                "partial"
              ]
            },
            "reason": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 300
                },
                {
                  "type": "null"
                }
              ]
            },
            "input_refs": {
              "maxItems": 2000,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 300
              }
            }
          },
          "required": [
            "value",
            "unit",
            "availability",
            "reason",
            "input_refs"
          ],
          "additionalProperties": false
        },
        "cpc": {
          "type": "object",
          "properties": {
            "value": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "unit": {
              "type": "string",
              "enum": [
                "currency",
                "count",
                "currency_per_click",
                "currency_per_conversion",
                "ratio"
              ]
            },
            "availability": {
              "type": "string",
              "enum": [
                "available",
                "missing_input",
                "zero_denominator",
                "incompatible",
                "partial"
              ]
            },
            "reason": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 300
                },
                {
                  "type": "null"
                }
              ]
            },
            "input_refs": {
              "maxItems": 2000,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 300
              }
            }
          },
          "required": [
            "value",
            "unit",
            "availability",
            "reason",
            "input_refs"
          ],
          "additionalProperties": false
        },
        "cpa": {
          "type": "object",
          "properties": {
            "value": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "unit": {
              "type": "string",
              "enum": [
                "currency",
                "count",
                "currency_per_click",
                "currency_per_conversion",
                "ratio"
              ]
            },
            "availability": {
              "type": "string",
              "enum": [
                "available",
                "missing_input",
                "zero_denominator",
                "incompatible",
                "partial"
              ]
            },
            "reason": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 300
                },
                {
                  "type": "null"
                }
              ]
            },
            "input_refs": {
              "maxItems": 2000,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 300
              }
            }
          },
          "required": [
            "value",
            "unit",
            "availability",
            "reason",
            "input_refs"
          ],
          "additionalProperties": false
        },
        "attributed_roas": {
          "type": "object",
          "properties": {
            "value": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "unit": {
              "type": "string",
              "enum": [
                "currency",
                "count",
                "currency_per_click",
                "currency_per_conversion",
                "ratio"
              ]
            },
            "availability": {
              "type": "string",
              "enum": [
                "available",
                "missing_input",
                "zero_denominator",
                "incompatible",
                "partial"
              ]
            },
            "reason": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 300
                },
                {
                  "type": "null"
                }
              ]
            },
            "input_refs": {
              "maxItems": 2000,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 300
              }
            }
          },
          "required": [
            "value",
            "unit",
            "availability",
            "reason",
            "input_refs"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "spend",
        "clicks",
        "conversions",
        "attributed_revenue",
        "cpc",
        "cpa",
        "attributed_roas"
      ],
      "additionalProperties": false
    },
    "gaps": {
      "maxItems": 1000,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 300
      }
    },
    "suggestions": {
      "maxItems": 3,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "rule_id": {
            "type": "string",
            "enum": [
              "supply_revenue",
              "review_comparable_creative_test",
              "complete_coverage"
            ]
          },
          "rule_version": {
            "type": "number",
            "const": 1
          },
          "proposal": {
            "type": "string",
            "maxLength": 600
          },
          "input_refs": {
            "maxItems": 2000,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 300
            }
          },
          "limitations": {
            "type": "string",
            "const": "Observational comparison only; no causal uplift or profitability claim. Human review required."
          }
        },
        "required": [
          "rule_id",
          "rule_version",
          "proposal",
          "input_refs",
          "limitations"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "contract_version",
    "source_id",
    "source_sha256",
    "identity_verification",
    "currency",
    "timezone",
    "selection",
    "complete",
    "rows",
    "totals",
    "gaps",
    "suggestions"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Exempel på verktygsanrop

Exemplen använder fiktiva värden som kontrollerats mot schemana. Ersätt ID:n med sådana du får använda, medier med färdiga mediefiler och datum med din bekräftade publiceringstid. Kontrollera kontots behörighet före en skrivning. Denna sida skickar inga API-anrop.

{
  "name": "sosoapi_ads_performance_analyze",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "source_kind": "customer_import",
    "source_id": "example",
    "provider_api_version": "v26.0",
    "provider_account_id": "12345",
    "currency": "USD",
    "timezone": "UTC",
    "level": "campaign",
    "start_date": "2099-01-15",
    "end_date": "2099-01-15",
    "action_attribution_windows": [
      "1d_click"
    ],
    "action_report_time": "impression",
    "conversion_action_type": "example",
    "revenue_action_type": "example",
    "complete": false,
    "rows": []
  }
}

structuredContent

{
  "contract_version": "ad-performance/v1",
  "source_id": "example",
  "source_sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "identity_verification": "customer_supplied",
  "currency": "USD",
  "timezone": "UTC",
  "selection": {
    "provider_api_version": "v26.0",
    "provider_account_id": "12345",
    "currency": "USD",
    "timezone": "UTC",
    "level": "campaign",
    "start_date": "2099-01-15",
    "end_date": "2099-01-15",
    "action_attribution_windows": [
      "1d_click"
    ],
    "action_report_time": "impression",
    "conversion_action_type": "example",
    "revenue_action_type": "example"
  },
  "complete": false,
  "rows": [],
  "totals": {
    "spend": {
      "value": null,
      "unit": "currency",
      "availability": "available",
      "reason": null,
      "input_refs": []
    },
    "clicks": {
      "value": null,
      "unit": "currency",
      "availability": "available",
      "reason": null,
      "input_refs": []
    },
    "conversions": {
      "value": null,
      "unit": "currency",
      "availability": "available",
      "reason": null,
      "input_refs": []
    },
    "attributed_revenue": {
      "value": null,
      "unit": "currency",
      "availability": "available",
      "reason": null,
      "input_refs": []
    },
    "cpc": {
      "value": null,
      "unit": "currency",
      "availability": "available",
      "reason": null,
      "input_refs": []
    },
    "cpa": {
      "value": null,
      "unit": "currency",
      "availability": "available",
      "reason": null,
      "input_refs": []
    },
    "attributed_roas": {
      "value": null,
      "unit": "currency",
      "availability": "available",
      "reason": null,
      "input_refs": []
    }
  },
  "gaps": [],
  "suggestions": []
}
Installera eller anslut MCP