rudderlabs/rudder-transformer

BUG: Google Ads Offline Conversion Invalid JSON response

Closed this issue · 4 comments

Hello RS team,

I'm trying out the google ads offline conversion but hitting a snag. Have I misconfigured something ? The rudderstack validation passes itself, but getting a bad request from google's side. Payload and responses are below.

Describe the bug
Sending this payload to the google ads offline conversion:

{
    "version": "1",
    "type": "REST",
    "method": "POST",
    "endpoint": "https://googleads.googleapis.com/v14/customers/~redacted~:uploadClickConversions",
    "headers": {
        "Authorization": "~redacted~",
        "Content-Type": "application/json",
        "developer-token": "~redacted~"
    },
    "params": {
        "event": "signup_conversion",
        "customerId": "~redacted~",
        "customVariables": [
            {
                "from": "utm_source",
                "to": "Source"
            }
        ],
        "properties": {
            "gclid": "stefantest",
            "utm_term": "",
            "utm_medium": "",
            "utm_source": "hello",
            "application": "web",
            "utm_content": "",
            "utm_campaign": "",
            "application_version": "bf81ce9018670d1e10c5401a6fb15c4724f59c5e"
        }
    },
    "body": {
        "JSON": {
            "conversions": [
                {
                    "gclid": "stefantest",
                    "conversionDateTime": "2023-12-23 16:37:40+00:00",
                    "conversionEnvironment": "WEB"
                }
            ],
            "partialFailure": true
        },
        "JSON_ARRAY": {},
        "XML": {},
        "FORM": {}
    },
    "files": {}
}

Expected behavior
A successful response

Screenshots
Screenshot 2023-12-23 at 18 38 15

Additional context
Add any other context about the problem here.

Hey @coolbaluk can you let us know how are using Rudderstack? Have you deployed the service yourself and using or you are using the hosted service here?

@ItsSudip self-deployed backend, I just pulled the latest server & transformer images to be sure and retried, sharing the payload and response:

{
    "version": "1",
    "type": "REST",
    "method": "POST",
    "endpoint": "https://googleads.googleapis.com/v14/customers/~redacted~:uploadClickConversions",
    "headers": {
        "Authorization": "~redacted~",
        "Content-Type": "application/json",
        "developer-token": "~redacted~"
    },
    "params": {
        "event": "signup_conversion",
        "customerId": "~redacted~",
        "customVariables": [
            {
                "from": "utm_source",
                "to": "utm_source"
            }
        ],
        "properties": {
            "gclid": "stefantest",
            "utm_term": "",
            "utm_medium": "",
            "utm_source": "hello",
            "application": "web",
            "utm_content": "",
            "utm_campaign": "",
            "application_version": "6efb14c37864b1580fdbebfbebabb703a055e67c"
        }
    },
    "body": {
        "JSON": {
            "conversions": [
                {
                    "gclid": "stefantest",
                    "conversionDateTime": "2023-12-26 09:10:50+00:00",
                    "conversionEnvironment": "WEB"
                }
            ],
            "partialFailure": true
        },
        "JSON_ARRAY": {},
        "XML": {},
        "FORM": {}
    },
    "files": {}
}
Screenshot 2023-12-26 at 11 14 11

Hey @coolbaluk sorry for the inconvenience. You need to enable transformerProxy for this destination. You can enable this in the following way, add the following code under Router in config -> config.yaml file of server repo.

GOOGLE_ADWORDS_OFFLINE_CONVERSIONS:
    transformerProxy: true

After enabling this you shouldn't see this error.

Thanks, I had to do something similar for GA4 before so it was easy to reconfigure, closing this issue.