Google Campaign Manager Campaign Manager Conversions API

The Campaign Manager Conversions API from Google Campaign Manager — 2 operation(s) for campaign manager conversions.

GitHub OpenAPI

Operations 2

POST /dfareporting/v5/userprofiles/{profileId}/conversions/batchupdate Batchupdate conversions #
POST /dfareporting/v5/userprofiles/{profileId}/conversions/batchinsert Batchinsert conversions #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/google-campaign-manager:google-campaign-manager-conversions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

google-campaign-manager-conversions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Campaign Manager 360 Conversions API
  version: v5
  description: Generated from Google's published Discovery document for Campaign Manager 360 API (dfareporting v5, revision 20261107). 2 operation(s).
  contact:
    name: Google
    url: https://developers.google.com/
  termsOfService: https://developers.google.com/terms
servers:
- url: https://dfareporting.googleapis.com
tags:
- name: Conversions
paths:
  /dfareporting/v5/userprofiles/{profileId}/conversions/batchupdate:
    post:
      operationId: dfareporting.conversions.batchupdate
      summary: Batchupdate conversions
      description: Updates existing conversions.
      parameters:
      - name: profileId
        in: path
        required: true
        description: User profile ID associated with this request.
        schema:
          type: string
          format: int64
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConversionsBatchUpdateRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversionsBatchUpdateResponse'
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/ddmconversions
      - apiKey: []
      tags:
      - Conversions
  /dfareporting/v5/userprofiles/{profileId}/conversions/batchinsert:
    post:
      operationId: dfareporting.conversions.batchinsert
      summary: Batchinsert conversions
      description: Inserts conversions.
      parameters:
      - name: profileId
        in: path
        required: true
        description: User profile ID associated with this request.
        schema:
          type: string
          format: int64
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConversionsBatchInsertRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversionsBatchInsertResponse'
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/ddmconversions
      - apiKey: []
      tags:
      - Conversions
components:
  schemas:
    Conversion:
      properties:
        matchId:
          description: The match ID field. A match ID is your own first-party identifier that has been synced with Google using the match ID feature in Floodlight. This field is mutually exclusive with encryptedUserId, encryptedUserIdCandidates[],mobileDeviceId, gclid, dclid, and impressionId. This or encryptedUserId orencryptedUserIdCandidates[] or mobileDeviceId or gclid or dclid or impressionIdis a required field.
          type: string
        adUserDataConsent:
          enum:
          - GRANTED
          - DENIED
          type: string
          description: This represents consent for ad user data.
        userIdentifiers:
          description: The user identifiers to enhance the conversion. The maximum number of user identifiers for each conversion is 5.
          items:
            $ref: '#/components/schemas/UserIdentifier'
          type: array
        cartData:
          $ref: '#/components/schemas/CartData'
          description: The cart data associated with this conversion.
        encryptedUserId:
          type: string
          description: The alphanumeric encrypted user ID. When set, encryptionInfo should also be specified. This field is mutually exclusive with encryptedUserIdCandidates[], matchId, mobileDeviceId, gclid, dclid, and impressionId. This or encryptedUserIdCandidates[] or matchId or mobileDeviceId or gclid or dclid or impressionId is a required field.
        timestampMicros:
          format: int64
          type: string
          description: The timestamp of conversion, in Unix epoch micros. This is a required field.
        encryptedUserIdCandidates:
          type: array
          description: A list of the alphanumeric encrypted user IDs. Any user ID with exposure prior to the conversion timestamp will be used in the inserted conversion. If no such user ID is found then the conversion will be rejected with INVALID_ARGUMENT error. When set, encryptionInfo should also be specified. This field may only be used when calling batchinsert; it is not supported by batchupdate. This field is mutually exclusive with encryptedUserId, matchId, mobileDeviceId, gclid dclid, and impressionId. This or encryptedUserId or matchId or mobileDeviceId or gclid or dclid or impressionId is a required field.
          items:
            type: string
        mobileDeviceId:
          description: The mobile device ID. This field is mutually exclusive with encryptedUserId, encryptedUserIdCandidates[], matchId, gclid, dclid, and impressionId. This or encryptedUserId or encryptedUserIdCandidates[] or matchId or gclid or dclid or impressionId is a required field.
          type: string
        nonPersonalizedAd:
          type: boolean
          description: Whether the conversion was for a non personalized ad.
        sessionAttributesEncoded:
          type: string
          description: Session attributes for the conversion, encoded as based64 bytes. This field may only be used when calling batchinsert; it is not supported by batchupdate.
          format: byte
        treatmentForUnderage:
          type: boolean
          description: Whether this particular request may come from a user under the age of 16 (may differ by country), under compliance with the European Union's General Data Protection Regulation (GDPR).
        kind:
          description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#conversion".'
          type: string
        floodlightConfigurationId:
          description: Floodlight Configuration ID of this conversion. This is a required field.
          type: string
          format: int64
        quantity:
          format: int64
          description: The quantity of the conversion. This is a required field.
          type: string
        floodlightActivityId:
          format: int64
          description: Floodlight Activity ID of this conversion. This is a required field.
          type: string
        ordinal:
          description: The ordinal of the conversion. Use this field to control how conversions of the same user and day are de-duplicated. This is a required field.
          type: string
        customVariables:
          description: Custom floodlight variables.
          items:
            $ref: '#/components/schemas/CustomFloodlightVariable'
          type: array
        childDirectedTreatment:
          type: boolean
          description: Whether this particular request may come from a user under the age of 13, under COPPA compliance.
        impressionId:
          description: The impression ID. This field is mutually exclusive with encryptedUserId, encryptedUserIdCandidates[], matchId, mobileDeviceId, and gclid. One of these identifiers must be set.
          type: string
        gclid:
          type: string
          description: The Google click ID. This field is mutually exclusive with encryptedUserId, encryptedUserIdCandidates[], matchId, mobileDeviceId, dclid, and impressionId. This or encryptedUserId or encryptedUserIdCandidates[] or matchId or mobileDeviceId or dclid or impressionId is a required field.
        value:
          description: The value of the conversion. Interpreted in CM360 Floodlight config parent advertiser's currency code. This is a required field.
          type: number
          format: double
        limitAdTracking:
          type: boolean
          description: Whether Limit Ad Tracking is enabled. When set to true, the conversion will be used for reporting but not targeting. This will prevent remarketing.
        dclid:
          type: string
          description: The display click ID. This field is mutually exclusive with encryptedUserId, encryptedUserIdCandidates[], matchId, mobileDeviceId, gclid, and impressionId. This or encryptedUserId or encryptedUserIdCandidates[] or matchId or mobileDeviceId or gclid or impressionId is a required field.
      type: object
      description: A Conversion represents when a user successfully performs a desired action after seeing an ad.
    ConversionsBatchInsertRequest:
      description: Insert Conversions Request.
      properties:
        kind:
          description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#conversionsBatchInsertRequest".'
          type: string
        conversions:
          items:
            $ref: '#/components/schemas/Conversion'
          description: The set of conversions to insert.
          type: array
        encryptionInfo:
          $ref: '#/components/schemas/EncryptionInfo'
          description: Describes how encryptedUserId or encryptedUserIdCandidates[] is encrypted. This is a required field if encryptedUserId or encryptedUserIdCandidates[] is used.
      type: object
    EncryptionInfo:
      properties:
        kind:
          type: string
          description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#encryptionInfo".'
        encryptionSource:
          enum:
          - ENCRYPTION_SCOPE_UNKNOWN
          - AD_SERVING
          - DATA_TRANSFER
          type: string
          description: Describes whether the encrypted cookie was received from ad serving (the %m macro) or from Data Transfer.
        encryptionEntityType:
          type: string
          description: The encryption entity type. This should match the encryption configuration for ad serving or Data Transfer.
          enum:
          - ENCRYPTION_ENTITY_TYPE_UNKNOWN
          - DCM_ACCOUNT
          - DCM_ADVERTISER
          - DBM_PARTNER
          - DBM_ADVERTISER
          - ADWORDS_CUSTOMER
          - DFP_NETWORK_CODE
        encryptionEntityId:
          description: The encryption entity ID. This should match the encryption configuration for ad serving or Data Transfer.
          type: string
          format: int64
      type: object
      description: A description of how user IDs are encrypted.
    ConversionError:
      description: The error code and description for a conversion that failed to insert or update.
      type: object
      properties:
        message:
          description: A description of the error.
          type: string
        code:
          enum:
          - INVALID_ARGUMENT
          - INTERNAL
          - PERMISSION_DENIED
          - NOT_FOUND
          description: The error code.
          type: string
        kind:
          type: string
          description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#conversionError".'
    UserIdentifier:
      description: User identifying information. Exactly one type of identifier must be specified.
      properties:
        addressInfo:
          $ref: '#/components/schemas/OfflineUserAddressInfo'
          description: Address information.
        hashedPhoneNumber:
          type: string
          description: Hashed phone number using SHA-256 hash function after normalization (E164 standard).
        hashedEmail:
          type: string
          description: Hashed email address using SHA-256 hash function after normalization.
      type: object
    CartData:
      description: Contains additional information about cart data. This field may only be used when calling batchinsert; it is not supported by batchupdate. Cart data reporting is only supported in SA360. [Learn more](https://support.google.com/sa360/topic/13425788)
      type: object
      properties:
        merchantFeedLabel:
          type: string
          description: The feed labels associated with the feed where your items are uploaded. For more information, please refer to ​​ https://support.google.com/merchants/answer/12453549. Providing the feed label reduces ambiguity in identifying the right offer details.
        items:
          items:
            $ref: '#/components/schemas/CartDataItem'
          type: array
          description: Data of the items purchased.
        merchantId:
          description: The Merchant Center ID where the items are uploaded. Providing Merchant Center ID reduces ambiguity in identifying the right offer details.
          format: int64
          type: string
        merchantFeedLanguage:
          type: string
          description: The language associated with the feed where your items are uploaded. Use ISO 639-1 language codes. Providing the feed language reduces ambiguity in identifying the right offer details.
    ConversionsBatchInsertResponse:
      properties:
        hasFailures:
          description: Indicates that some or all conversions failed to insert.
          type: boolean
        kind:
          type: string
          description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#conversionsBatchInsertResponse".'
        status:
          type: array
          description: The insert status of each conversion. Statuses are returned in the same order that conversions are inserted.
          items:
            $ref: '#/components/schemas/ConversionStatus'
      description: Insert Conversions Response.
      type: object
    OfflineUserAddressInfo:
      description: Identify a user by name and address.
      properties:
        state:
          type: string
          description: State code of the address.
        hashedLastName:
          type: string
          description: Last name of the user, which is hashed as SHA-256 after normalized (lower case only and no punctuation).
        hashedFirstName:
          description: First name of the user, which is hashed as SHA-256 after normalized (Lowercase all characters; Remove any extra spaces before, after, and in between).
          type: string
        countryCode:
          type: string
          description: 2-letter country code in ISO-3166-1 alpha-2 of the user's address.
        postalCode:
          type: string
          description: Postal code of the user's address.
        city:
          description: City of the address.
          type: string
        hashedStreetAddress:
          type: string
          description: The street address of the user hashed using SHA-256 hash function after normalization (lower case only).
      type: object
    ConversionsBatchUpdateResponse:
      description: Update Conversions Response.
      type: object
      properties:
        status:
          description: The update status of each conversion. Statuses are returned in the same order that conversions are updated.
          items:
            $ref: '#/components/schemas/ConversionStatus'
          type: array
        kind:
          description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#conversionsBatchUpdateResponse".'
          type: string
        hasFailures:
          description: Indicates that some or all conversions failed to update.
          type: boolean
    CartDataItem:
      description: Contains data of the items purchased.
      type: object
      properties:
        quantity:
          format: int32
          type: integer
          description: Number of items sold. This is a required field.
        unitPrice:
          type: number
          description: Unit price excluding tax, shipping, and any transaction level discounts. Interpreted in CM360 Floodlight config parent advertiser's currency code. This is a required field.
          format: double
        itemId:
          type: string
          description: The shopping id of the item. Must be equal to the Merchant Center product identifier. This is a required field.
    ConversionsBatchUpdateRequest:
      description: Update Conversions Request.
      type: object
      properties:
        encryptionInfo:
          $ref: '#/components/schemas/EncryptionInfo'
          description: Describes how encryptedUserId is encrypted. This is a required field if encryptedUserId is used.
        conversions:
          items:
            $ref: '#/components/schemas/Conversion'
          description: The set of conversions to update.
          type: array
        kind:
          type: string
          description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#conversionsBatchUpdateRequest".'
    GoogleRpcError:
      type: object
      description: The error envelope every Google API returns.
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            status:
              type: string
            details:
              type: array
              items:
                type: object
    CustomFloodlightVariable:
      description: A custom floodlight variable. Can be used in both batchinsert and batchupdate. Adding this in batchupdate will update or append the variable to the existing list.
      properties:
        type:
          type: string
          description: The type of custom floodlight variable to supply a value for. These map to the "u[1-100]=" in the tags.
          enum:
          - U1
          - U2
          - U3
          - U4
          - U5
          - U6
          - U7
          - U8
          - U9
          - U10
          - U11
          - U12
          - U13
          - U14
          - U15
          - U16
          - U17
          - U18
          - U19
          - U20
          - U21
          - U22
          - U23
          - U24
          - U25
          - U26
          - U27
          - U28
          - U29
          - U30
          - U31
          - U32
          - U33
          - U34
          - U35
          - U36
          - U37
          - U38
          - U39
          - U40
          - U41
          - U42
          - U43
          - U44
          - U45
          - U46
          - U47
          - U48
          - U49
          - U50
          - U51
          - U52
          - U53
          - U54
          - U55
          - U56
          - U57
          - U58
          - U59
          - U60
          - U61
          - U62
          - U63
          - U64
          - U65
          - U66
          - U67
          - U68
          - U69
          - U70
          - U71
          - U72
          - U73
          - U74
          - U75
          - U76
          - U77
          - U78
          - U79
          - U80
          - U81
          - U82
          - U83
          - U84
          - U85
          - U86
          - U87
          - U88
          - U89
          - U90
          - U91
          - U92
          - U93
          - U94
          - U95
          - U96
          - U97
          - U98
          - U99
          - U100
        kind:
          type: string
          description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#customFloodlightVariable".'
        value:
          description: The value of the custom floodlight variable. The length of string must not exceed 100 characters.
          type: string
      type: object
    ConversionStatus:
      type: object
      description: The original conversion that was inserted or updated and whether there were any errors.
      properties:
        kind:
          description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#conversionStatus".'
          type: string
        conversion:
          $ref: '#/components/schemas/Conversion'
          description: The original conversion that was inserted or updated.
        errors:
          description: A list of errors related to this conversion.
          items:
            $ref: '#/components/schemas/ConversionError'
          type: array
  securitySchemes:
    apiKey:
      type: apiKey
      in: query
      name: key
      description: API key; accepted by methods that do not need user data.
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/auth
          tokenUrl: https://oauth2.googleapis.com/token
          scopes:
            https://www.googleapis.com/auth/ddmconversions: Manage DoubleClick Digital Marketing conversions
            https://www.googleapis.com/auth/dfatrafficking: View and manage your DoubleClick Campaign Manager's (DCM) display ad campaigns
            https://www.googleapis.com/auth/dfareporting: View and manage DoubleClick for Advertisers reports
externalDocs:
  url: https://developers.google.com/doubleclick-advertisers/
x-provenance:
  method: harvested
  publisher: Google
  source: https://dfareporting.googleapis.com/$discovery/rest?version=v5
  note: converted by discovery-to-openapi.py from Google's Discovery document (revision 20261107)