Hi,
My ads are shown on mobile, and click takes user to Appstore / Playstore. 
Once the user downloads the App and signs up, I upload conversion-value 
within 24 hours. I don't have GLID (is there any way to get it considering 
my setup?). I am getting 100% Click-not-found which cannot be true. Some 
points:

1. I am using both email and phone number (E.164 format), and hashed as per 
Google-API-docs
2. Since I don't have GCLID, I was setting "orderId'  as my internal 
customer number. I have tried uploading without orderId as well. Result is 
same.

Attaching the relevant code, and a sample response. Any pointers will be 
helpful. Thanks!


Regards,
Anirudh Beria

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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 [email protected]
To unsubscribe from this group, send email to
[email protected]
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 
"Google Ads API and AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/85e9a68b-2db7-4efa-8810-04392a561ebcn%40googlegroups.com.
// Summary: I am getting 100% Click-not-found with enhanced-conversion API. 
Expectation is ~50% 
// match. I have got 0 matches in last 1 month. My mobile-only-search-ads take 
customers from 
// the ad to  Appstore / Playstore on iPhone and Android respectively, and I 
upload their 
// email + phone with a conversion-value within 24 hours. No GLID involved. Any 
pointers 
// will be helpful. Thanks!

      val clickConversionBuilder = ClickConversion.newBuilder
      val sha256Digest = MessageDigest.getInstance("SHA-256")
      val userIdentifiers = ListBuffer.empty[UserIdentifier]
      val emailIdentifier = UserIdentifier.newBuilder
        .setUserIdentifierSource(UserIdentifierSource.FIRST_PARTY)
        .setHashedEmail(normalizeAndHashEmailAddress(sha256Digest, 
userInfo.email)).build // copied from 
https://developers.google.com/google-ads/api/docs/conversions/enhanced-conversions/web
      userIdentifiers.addOne(emailIdentifier)
      val hashedPhoneNumberIdentifier =
        UserIdentifier.newBuilder
          .setUserIdentifierSource(UserIdentifierSource.FIRST_PARTY)
          .setHashedPhoneNumber(normalizeAndHash(sha256Digest, 
userInfo.phoneFormatted, // format like E.164 eg: "+911234567890"
            true)).build
      userIdentifiers.addOne(hashedPhoneNumberIdentifier)
      import scala.jdk.CollectionConverters._
      clickConversionBuilder.addAllUserIdentifiers(userIdentifiers.asJava)


      clickConversionBuilder.setConversionAction(
        ResourceNames.conversionAction(
          GoogleAdsManagerAccountId, ConversionActionId))
      clickConversionBuilder.setConversionDateTime(userInfo.dateTimeFormatted) 
// eg: 2024-01-06 15:52:23+05:30
      
clickConversionBuilder.setConversionValue(userInfo.conversionValue.toDouble)
      clickConversionBuilder.setCurrencyCode(ISO4217_INRCode)
      clickConversionBuilder.setOrderId(userInfo.accountId.toString) // eg: 
"123". I have tried removing this as well, but it has no effect
      
clickConversionBuilder.setConsent(Consent.newBuilder().setAdUserData(ConsentStatus.GRANTED))
      val clickConversion = clickConversionBuilder.build

      try {
        val uploadClient = 
googleAdsClient.getLatestVersion.createConversionUploadServiceClient()
        val response = 
uploadClient.uploadClickConversions(UploadClickConversionsRequest.newBuilder()
          .setCustomerId("6681678778") // my manager-account, not the 
ad-account. I have tried with ad-account as well, and uploads show error.
          .addConversions(clickConversion)
          .setPartialFailure(true)
          .build
        )
        logger.info(s"Upload Click conversion response = ${response}")
        response.getJobId


/* Sample output
=========================================
INFO: Upload Click conversion response = results {
  conversion_action: "customers/6681678778/conversionActions/6696145140"
  conversion_date_time: "2024-01-06 15:52:23+05:30"
  user_identifiers {
    user_identifier_source: FIRST_PARTY
    hashed_email: 
"29beb7e1d8487xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx4e1dd724ba6193181e76013b387d5865f"
  }
  user_identifiers {
    user_identifier_source: FIRST_PARTY
    hashed_phone_number: 
"d3c4011b39f9eexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx8ea1a15d7faf173b"
  }
}
job_id: 1454662538028517465

*/

  • 10... Anirudh Beria
    • ... 'Google Ads API Forum Advisor' via Google Ads API and AdWords API Forum

Reply via email to