Google Ads Conversion Value Not Showing If Value is Added Manually

Hi,
I’m facing a problem while sending custom conversion value for google ads server side tracking.

I’m trying to send a custom conversion value in Google ads tag from server GTM. But If I create an event data with the value and add it in the conversion value field in google ads tag in server GTM, I can’t see value parameter in outgoing request. I can’t see value parameter in outgoing payload request as well.

However, If I keep the conversion value field black then value parameter is being added with the outgoing request and I can also see the value parameter in outgoing payload request.

What could be the possible reason? I would really appreciate any help. Thanks.

In these images you can see no value parameter if I add custom conversion value manually.



In these images you can see no value parameter If I keep the conversion value field blank::




Along with value try to specify currency as well. I think that could be an issue, that without currency value wont send

Hi @Alex
Thanks for your suggestion.

Actually I’m trying to send profit value of the selected items.

I’ve added the currency value as well with the custom conversion value manually but still not value parameter is showing in outgoing request.

Here are some images:





Really strange!

Haven’t come across something like this before.
What is the behaviour if you add just constant data to the input?

You check the data in the browser network which is ok since the hit is also sent via the browser. But can you copy the outgoing request that is sent via browser from the preview and check the data there? Also what’s the data in the outgoing server hits in the preview? Same without value?

1 Like

Hi @Md_Monirul_Islam,

I’ve just played around a bit with this and could reproduce it. I believe that Google has changed the way sGTM Google Ads conversion tags are handling the value now.

There are 2 scenarios:

1) Value is picked up from the Event Data, when no value is set on the tag template Conversion value field.

Details

This works as usual, i.e., the value parameter is read from Event Data and put in the value parameter on the outgoing requests to Google Ads (from the server) and back to the browser.

2) Value is picked up from the Conversion value field on the tag template.
This is where things get interesting.

Details

When this happens, the Google Ads conversion tag on sGTM makes a request to

https://www.googletagmanager.com/sgtm/e?v=123.99

and get a response like this

AfCkEnYFxBCftgNqi800sy9jUSVCdmgkINgDlLdFjVjZNzCCBHBw

This response changes every time the request is made, even if using the same input value. So, I’m not sure what Google does here. But it’s definitely linked to the conversion value, as you are going to see below.

This value got in the response is put in the sg_ecv parameter in the outgoing request on the request from sGTM to Google Ads and, also on the request back to the browser.

This is the sGTM request to Google Ads (it will be sent only if you have some sort of Click ID being collected, otherwise, you will have only the browser request below).
Check the sg_ecv parameter.

Obs.: if you are using Advanced Consent Mode, the request will go to https://pagead2.googlesyndication.com/pagead/conversion[...].

This is the sGTM request back to the browser. Check the sg_ecv parameter.

Therefore, we can only conclude that this is the Conversion Value being passed in a different parameter.

2 Likes

Hi @giovaniortolani
Thank you so much for taking the time to find the solution. This now makes complete sense! I was really surprised not seeing value parameter and tried to find cause of the issue, so I truly appreciate your help.

I’ll go ahead and implement this in one of my existing Google Ads SST setups by manually assigning the value variable in the tag. I’ll keep you posted on how it goes!. :+1: :slightly_smiling_face:

1 Like

I’ve tested with my real GAds SST project. Now data is passing properly. This is correct. If we add value parameter manually then sg_ecv parameter is used to send the value. Problem is solved

1 Like