CONVERSION_PRECEDES_CLICK error while uploading offline conversions

871 views
Skip to first unread message

Kevin Liu

unread,
Sep 16, 2016, 9:16:46 AM9/16/16
to AdWords API Forum
Hi,

I encounter this error when I upload offline conversions to google adwords. I tried to search online to see if there is any helpful info there, but it seems that they didn't work for my case.
I wonder if there is a way that I can check the click time of the gclid. The conversion time in our database is in UTC format. So every conversion data will be sent to google adwords with the time zone "Etc/GMT", am I correct?
The request SOAP body is shown below. I use stars to replace some parts of the conversion name here, if you need the exact name, I will reply to you.

<SOAP-ENV:Body>
    <ns1:mutate>
      <ns1:operations>
        <ns1:operator>ADD</ns1:operator>
        <ns1:operand>
          <ns1:googleClickId>CN_htO2Nks8CFWMq0wod58sLwA</ns1:googleClickId>
          <ns1:conversionName>Dxxxxxxxxx Registration</ns1:conversionName>
          <ns1:conversionTime>20160915 192928 Etc/GMT</ns1:conversionTime>
        </ns1:operand>
      </ns1:operations>
    </ns1:mutate>
  </SOAP-ENV:Body>

The response is

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <ResponseHeader xmlns="https://adwords.google.com/api/adwords/cm/v201607">
      <requestId>00053c9db24581e90a3714ce46027a91</requestId>
      <serviceName>OfflineConversionFeedService</serviceName>
      <methodName>mutate</methodName>
      <operations>0</operations>
      <responseTime>85</responseTime>
    </ResponseHeader>
  </soap:Header>
  <soap:Body>
    <soap:Fault>
      <faultcode>soap:Server</faultcode>
      <faultstring>[OfflineConversionError.CONVERSION_PRECEDES_CLICK @ operations[0].operand]</faultstring>
      <detail>
        <ApiExceptionFault xmlns="https://adwords.google.com/api/adwords/cm/v201607">
          <message>[OfflineConversionError.CONVERSION_PRECEDES_CLICK @ operations[0].operand]</message>
          <ApplicationException.Type>ApiException</ApplicationException.Type>
          <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="OfflineConversionError">
            <fieldPath>operations[0].operand</fieldPath>
            <trigger/>
            <errorString>OfflineConversionError.CONVERSION_PRECEDES_CLICK</errorString>
            <ApiError.Type>OfflineConversionError</ApiError.Type>
            <reason>CONVERSION_PRECEDES_CLICK</reason>
          </errors>
        </ApiExceptionFault>
      </detail>
    </soap:Fault>
  </soap:Body>
</soap:Envelope>

If you need anything else, please let me know.

Thanks,

Vishal Vinayak (Adwords API Team)

unread,
Sep 16, 2016, 4:56:46 PM9/16/16
to AdWords API Forum
Hi Kevin,

When uploading offline conversions, please follow the validation rules listed on this page. To your question, you can get the time by using the OfflineConversionFeedService. Also, as long as the conversionTime has a valid timezone ID, your request should be considered valid. 

Hope this helps. Please feel free to revert in case you have more questions.

Regards,
Vishal, AdWords API Team

Kevin Liu

unread,
Sep 19, 2016, 3:57:38 AM9/19/16
to AdWords API Forum
Hi Vishal,

yeah, I followed all the rules there, I want to know if I can get the google click time, not the conversion time. By using OfflineConversionFeedService, I need to specify the conversionTime myself, if you see my SOAP request, you will find out that a valid timezone ID is there, but google adwords API returns me a "CONVERSION_PRECEDES_CLICK" error. I know the meaning of "CONVERSION_PRECEDES_CLICK" error, but I just want to know why this happened. The conversion happened when a user finished the signup form on our website (UTC time), it should be after the google click time. Could you please help me check on your side?

Thanks,
Kevin

Vishal Vinayak (Adwords API Team)

unread,
Sep 19, 2016, 11:42:30 AM9/19/16
to AdWords API Forum
Hi Kevin,

Unfortunately, there is no way to fetch the time-stamp of a google click via the API. However, I can see that the default timezone of the account linked to your email ID is Dublin (GMT +1) whereas the timezone included with the conversions in your SOAP request is GMT. Could you please associate the same timezone with your conversions as that of your account and let me know if you are still facing the same issue?   
Regards,
Vishal Vinayak, AdWords API Team

Mark Jones

unread,
Dec 23, 2016, 11:09:10 AM12/23/16
to AdWords API Forum
Hello,

I was reading your suggestion about associating the timezone of the conversion with the same timezone as the account, however, according to the docs you pointed out here

  • The conversionTime must have a timezone ID. The timezone ID can be for any valid timezone: It does not have to match the account's timezone.

It states that timezones do not have to match?

Can you clarify?

Thanks
Mark

Shreepriya Chaturvedi

unread,
Aug 12, 2019, 5:04:45 PM8/12/19
to AdWords API and Google Ads API Forum

Hi all,

Did anyone find a solution to this problem. Even I am facing the same issue. Adwords account is in EST. I am trying to upload the data using Adwords API in UTC  and hence using Etc/GMT as timezone in the date sent. However, few of the conversions are getting passed while majority says "CONVERSION_PRECEDES_CLICK ".

Thanks 

Google Ads API Forum Advisor Prod

unread,
Aug 13, 2019, 1:10:51 AM8/13/19
to adwor...@googlegroups.com
Hi,

Could you confirm if the timestamp that you've set for the conversionTime field is the based on your Google Ads account's timezone?  You may confirm it via CustomerService.getCustomers() to retrieve the DateTimeZone of the account.

You may then retry your request once you have applied the correct timezone. Should the issue persist, you may send the complete SOAP request and response logs via the Reply privately to author option so I can further investigate.

Regards,
Ejay
Google Ads API Team

ref:_00D1U1174p._5001UEInf2:ref
Reply all
Reply to author
Forward
0 new messages