However, you can always mark an existing conversion as REMOVED and upload a new conversion
with the updated date, type, attribution IDs, or Floodlight activity (be sure to specify a
new conversionId as well).

As with Conversion.insert(), if your update request specifies multiple
conversions, DoubleClick Search attempts to update each conversion on a best-effort basis
instead of updating the entire batch as an all-or-nothing transaction. If some updates in a
batch fail, others might still succeed. We recommend you read
the response for every updated conversion to make sure that the update is successful.

Send an update request

Most of the fields that you specify in a Conversion.update() are used to
identify the conversions you want to update. You can use either of the following
techniques to identify an existing conversion:

Specify the conversion's clickId

Specify the conversion's criterionId (keyword ID)

Both techniques require you to specify the conversion's conversionId, conversionTimestamp,
and transaction type.

In addition, if the original conversion specified revenueMicros and currencyCode
or quantityMillis, the update request needs to specify this data even if you
aren't changing it.

Identify conversion by click ID

If a conversion originally specified a click ID, you can send a Conversion.update()
request that specifies the following fields:

clickId

conversionId

conversionTimestamp

type

state (only required if you want to change the state to REMOVED
or ACTIVE)

Use the DoubleClick Search utility script to send this request

To send a raw JSON POST request, you can use the dsApi.py
script as follows:

Copy the example JSON object (everything between and including the two
curly brackets) into a new text file named request.txt.

Change the agency ID that's in the JSON code to your own agency ID.

Remove any comments, such as // The date column segments the report by individual days.

Assemble your OAuth 2.0 credentials into a single, comma-delimited string as
follows:client-ID,client-secret,refresh-token
(This is the same string that dsApi.py outputs when you run dsApi.py
--login as described in Set Up
Authorization.)

Invoke dsApi.py as follows:dsApi.py --cred
CREDENTIALS --server API-method --put < request.txt
In the command above, substitute the string you assembled in the previous step for CREDENTIALS.
Substitute the name of the PUT method in the box below for API-method.

Identify conversion by keyword ID

If you don't have access to a click ID, or if a conversion was originally attributed to a
keyword or keyword/ad, you can send a Conversion.update() request that
specifies the following fields:

criterionId (keyword Id)

conversionId

conversionTimestamp

type

state (only required if you want to change the state to REMOVED
or ACTIVE)

quantityMillis (only if specified in the original conversion)

revenueMicros (only if specified in the original conversion)

currencyCode (only if specified in the original conversion)

You can optionally specify other IDs, such as the conversion's ad ID, campaign ID,
and so on, but you don't need to. DoubleClick Search only needs the IDs in the list above to
identify an existing conversion.

JSON

Use the DoubleClick Search utility script to send this request

To send a raw JSON POST request, you can use the dsApi.py
script as follows:

Copy the example JSON object (everything between and including the two
curly brackets) into a new text file named request.txt.

Change the agency ID that's in the JSON code to your own agency ID.

Remove any comments, such as // The date column segments the report by individual days.

Assemble your OAuth 2.0 credentials into a single, comma-delimited string as
follows:client-ID,client-secret,refresh-token
(This is the same string that dsApi.py outputs when you run dsApi.py
--login as described in Set Up
Authorization.)

Invoke dsApi.py as follows:dsApi.py --cred
CREDENTIALS --server API-method --put < request.txt
In the command above, substitute the string you assembled in the previous step for CREDENTIALS.
Substitute the name of the PUT method in the box below for API-method.

Handle DoubleClick Search responses

The response for an update request is the same as the response for an insert
request: DoubleClick Search indicates success only if all conversions in the request were
successfully updated.

If the request succeeds, the response includes the full DoubleClick Search internal
representation for each updated conversion, such as campaign ID, ad group ID and keyword
(criterion) ID.

If one or more update fails to validate or upload, the response includes failure
messages for each failed update. The response does not contain messages about conversions
that successfully updated.
For more information about these failure messages, see Handle
DoubleClick Search responses for insert requests.