Hello,

I'm having some trouble trying to upload click conversions using the api.

The error I'm receiving is:
*This customer does not have an import conversion action that matches the 
conversion action provided*

Let me provide me some context as how we've come to receive this error.

Our account structure:

   - Manager
      - Sub Manager
         - Account 1
         - Account 2
      
Some notes:

   - We use the *Manager* accounts id as *customerId.*
   - The import from clicks conversion action is configured under the 
   *Manager.*
   - For testing purposes we've generated a *gclid* from a campaign that 
   does not use cross account actions.

*Authentication and client setup*
The $loginCustomerId corresponds with the Manager id formatted to int.
---
$oAuth2Credential = (new 
\Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder())->from($configuration)->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
  ->withOAuth2Credential($oAuth2Credential)
  ->withDeveloperToken($developerToken)
  ->withLoginCustomerId($loginCustomerId)
  ->build()
;

*Retrieving the action through the api*
Because of the error I made an attempt to fetch the action through the api 
to make sure that we're using the correct customerId and actionId.
---


*$action = 
$googleAdsClient->getConversionActionServiceClient()->getConversionAction(ResourceNames::forConversionAction($loginCustomerId,
 
$actionId));echo $action->getOwnerCustomer(); // Same as 
$loginCustomerIdecho $action->getId(); // Same as $actionId*

*Uploading click conversion*
The following snippet attempts to upload the conversion. The 
$loginCustomerId and $actionId haven't changed from the snippets above.

*---*







*$clickConversion = new ClickConversion([     'gclid' => 'Generated gclid 
from Account 1',     'conversion_action' => 
ResourceNames::forConversionAction($loginCustomerId, $actionId),     
'conversion_value' => 0.01,     'conversion_date_time' => (new 
\DateTime())->format('Y-m-d H:i:sP'),     'currency_code' => 'EUR',]);*

*$uploadClient = 
$googleAdsClient->getConversionUploadServiceClient();$response = 
$uploadClient->uploadClickConversions($loginCustomerId, [$clickConversion], 
true);*

The documentation 
<https://developers.google.com/google-ads/api/docs/conversions/upload-clicks#uploading_clickconversion>
 
has a lot of criteria that must be in place for this in order to work and 
I've been trying to make sense of them all. I'm just going to duplicate 
them here, and write down my comments.

   - The ConversionActionType is UPLOAD_CLICKS 
   
<https://developers.google.com/google-ads/api/reference/rpc/v9/ConversionActionTypeEnum.ConversionActionType#upload_clicks>
   .
      - $action->getType() returns 7 === UPLOAD_CLICKS.
   - The status 
   
<https://developers.google.com/google-ads/api/reference/rpc/v9/ConversionAction#status>
 of 
   the ConversionAction is ENABLED.
      - It's enabled in the UI dashboard.
   - The ConversionAction exists in the effective conversion account of the 
   click's Google Ads account.
      - This one has me doubting - the click comes from a account that does 
      not have cross-account conversions enabled, but is still using it's own 
      conversion goals pulled from Google Analytics.
   - At the *time of the click*, conversion tracking was enabled in the 
effective 
   conversion account 
   
<https://developers.google.com/google-ads/api/docs/conversions/overview#effective_conversion_account>
 of 
   the click's Google Ads account.
      - I'm not sure what this means - help?
   - Starting with v8 of the Google Ads API, the customer_id of the 
   UploadClickConversionsRequest 
   
<https://developers.google.com/google-ads/api/reference/rpc/v9/UploadClickConversionsRequest>
 must 
   be the customer ID of the owner_customer of each click conversion's 
   conversion_action 
   
<https://developers.google.com/google-ads/api/reference/rpc/v9/ClickConversion#conversion_action>
   .
      - The action's owner is the same as our $loginCustomerId.
   
I'm having the idea that the account from which the click originated needs 
to have cross account tracking configured for this to work properly? Could 
someone please confirm this that this is a problem?

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/7f673f1f-eadb-4f33-b072-de6ec6233baen%40googlegroups.com.
  • Up... Wesley van Opdorp
    • ... 'Google Ads API Forum Advisor' via AdWords API and Google Ads API Forum

Reply via email to