Estoy tratando de implementar la conversión de anuncios de Google en mi sitio web y, según el equipo de Google, agregué las etiquetas que me dieron, pero la conversión no se muestra correctamente.
Después de ponerme en contacto con uno de los miembros del equipo, me dijo que corrigiera el código:
Hasta ahora Mi código:
<input type="hidden" id="email_for_ads" value="some@email.com"> <script> var email_for_ads = $("#email_for_ads").val(); var enhanced_conversion_data = { "email": email_for_ads }; console.log(email_for_ads); </script>Puedo ver la identificación del correo electrónico en la consola y estoy seguro de que se obtiene el valor.
Pero dijo que debería ser como a continuación al inspeccionar:
<input type="hidden" id="email_for_ads" value="some@email.com"> <script> var email_for_ads = $("#email_for_ads").val(); var enhanced_conversion_data = { "email": "some@email.com" }; console.log("some@email.com"); </script>Incluso probé el siguiente código también
var baseUrl = (window.location).href; // You can also use document.URL var email_for_ads = baseUrl.substring(baseUrl.lastIndexOf('=') + 1); //var email_for_ads = $("#email_for_ads").val(); var enhanced_conversion_data = { "email": email_for_ads }; console.log(email_for_ads);sin embargo, la misma salida. Puedo ver el valor en la consola pero al inspeccionar. Pero él insiste en que es así y podría ver el valor del correo electrónico directamente al inspeccionarse a sí mismo.
¿Puede alguien entender, si esto es posible, si es así, cómo puedo hacerlo?
Es posible , pero muy, muy extraño, y lo recomiendo encarecidamente: no proporciona ningún beneficio excepto, supongo, cuando se depura, pero cuando se depura sería más fácil simplemente recuperar el valor de entrada.
Si quisiera que el valor de entrada se imprimiera directamente en la etiqueta <script> , tendría que crear la etiqueta del script dinámicamente, ya sea con document.createElement('script') o document.write .
Para que eso sea posible, necesitaría otra etiqueta de secuencia de comandos para crear la etiqueta de secuencia de comandos dinámica.
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="hidden" id="email_for_ads" value="some@email.com"> <script> // remove this script tag document.currentScript.remove(); // append new script tag, with the input value directly in the source code const email_for_ads_first = $("#email_for_ads").val(); document.write(` <script> var email_for_ads = $("#email_for_ads").val(); var enhanced_conversion_data = { "email": "${email_for_ads_first}" }; console.log("${email_for_ads_first}"); // log this script tag contents, so you can see what's in it: console.log(document.currentScript.textContent); <\/script> `); </script>No hay una buena razón para hacer esto. Por favor, no.
Es posible que necesite una tecnología de representación del lado del servidor para generar su valor de correo electrónico en su HTML y scripts.
Puede considerar iniciar un servicio en nodejs, obtener el valor del correo electrónico en la solicitud y en la respuesta, devolver el correo electrónico con su html y scripts.