> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fandom.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get performance

> Impressions, clicks, cost and conversions for the Fandom campaigns in one account.

Scope: `google-ads:read`.



## OpenAPI

````yaml /api-reference/openapi.json get /google-ads/performance
openapi: 3.1.0
info:
  title: Fandom API
  version: 1.0.0
  description: >-
    Campaigns, targeting, audiences, data stores, brands and Audience
    Exploration. The same operations are available as MCP tools at /mcp.
servers:
  - url: https://fandom-api-preview.vercel.app/api/v1
  - url: https://www.fandom.ai/api/v1
security:
  - bearerAuth: []
tags:
  - name: Workspace
    description: What's in the workspace.
  - name: Campaigns
    description: Campaigns, as the app's Marketing section shows them.
  - name: Targeting
    description: Keywords, segments, topics and websites for each audience on a campaign.
  - name: Google Ads
    description: Connected accounts, performance, and creating campaigns in Google Ads.
  - name: Audiences
    description: Saved audiences you can attach to campaigns.
  - name: Data stores
    description: >-
      YouTube channels and videos, with their comments, that audiences are built
      from.
  - name: Brands
    description: Brands that campaigns belong to.
  - name: Audience Exploration
    description: >-
      Who an audience is on YouTube: the channels they watch and how they group.
      Invite-only for now.
paths:
  /google-ads/performance:
    get:
      tags:
        - Google Ads
      summary: Get performance
      description: >-
        Impressions, clicks, cost and conversions for the Fandom campaigns in
        one account.


        Scope: `google-ads:read`.
      operationId: get_google_ads_performance
      parameters:
        - name: customerId
          in: query
          required: true
          description: Google Ads customer id, with or without dashes.
          schema:
            type: string
            pattern: ^\d{3}-?\d{3}-?\d{4}$
        - name: dateRange
          in: query
          required: false
          description: Default LAST_30_DAYS.
          schema:
            anyOf:
              - not: {}
              - type: string
                enum:
                  - LAST_7_DAYS
                  - LAST_14_DAYS
                  - LAST_30_DAYS
                  - LAST_90_DAYS
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  customerId:
                    type: string
                  dateRange:
                    type: object
                    properties:
                      preset:
                        type: string
                      startDate:
                        type: string
                      endDate:
                        type: string
                    required:
                      - preset
                      - startDate
                      - endDate
                    additionalProperties: false
                  campaigns:
                    type: array
                    items:
                      type: object
                      properties:
                        campaignId:
                          type: string
                          description: Fandom campaign id.
                        name:
                          type: string
                        googleAdsCampaignId:
                          type:
                            - string
                            - 'null'
                        campaignType:
                          type:
                            - string
                            - 'null'
                        status:
                          type: string
                          description: Google's status, `NOT_LINKED` or `NO_DATA`.
                        impressions:
                          type: number
                        clicks:
                          type: number
                        cost:
                          type: number
                          description: In the account's currency.
                        conversions:
                          type: number
                        ctr:
                          type: number
                          description: Click-through rate, in percent.
                        cpc:
                          type: number
                        costPerConversion:
                          type: number
                        roas:
                          type: number
                      required:
                        - campaignId
                        - name
                        - googleAdsCampaignId
                        - campaignType
                        - status
                        - impressions
                        - clicks
                        - cost
                        - conversions
                        - ctr
                        - cpc
                        - costPerConversion
                        - roas
                      additionalProperties: false
                  daily:
                    type: array
                    items:
                      type: object
                      properties:
                        date:
                          type: string
                        impressions:
                          type: number
                        clicks:
                          type: number
                        cost:
                          type: number
                        conversions:
                          type: number
                      required:
                        - date
                        - impressions
                        - clicks
                        - cost
                        - conversions
                      additionalProperties: false
                required:
                  - customerId
                  - dateRange
                  - campaigns
                  - daily
                additionalProperties: false
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/RateLimited'
        '502':
          $ref: '#/components/responses/UpstreamError'
components:
  responses:
    BadRequest:
      description: >-
        The request is missing something or has a bad value. The message says
        what.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: No API key, or the key is wrong or revoked.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    PaymentRequired:
      description: The workspace's plan doesn't include this.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: >-
        The key doesn't have the scope, or isn't allowed this campaign or
        account.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    RateLimited:
      description: More than 120 requests in a minute. Wait and retry.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    UpstreamError:
      description: >-
        Google Ads didn't answer as expected. The message says whether anything
        changed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
              description: Stable, machine-readable.
              examples:
                - not_found
            message:
              type: string
              description: Plain-language explanation.
            requestId:
              type: string
              description: Quote this when asking for help.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: An API key from Settings → API access, starting with `fnd_`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.