Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejs
<script type="text/javascript">
	$(document).ready(function () {
		function getHash(param) {
			var value = param && param.trim(); 
			if (!value) {
				return "";
			}
			return sha256(value);
		}
		try {
			var serializedOrderData = sessionStorage.getItem("orderData");
			if (!serializedOrderData) {
				return;
			}
			var orderDataTmp = JSON.parse(serializedOrderData);
			var emailAddress = orderDataTmp.emailAddress;
			var firstName = orderDataTmp.firstName;
			var lastName = orderDataTmp.lastName;
			var city = orderDataTmp.city;
			var country = orderDataTmp.country;
			var postalCode = orderDataTmp.postalCode;
			if (gtag && emailAddress && firstName && lastName && city && country && postalCode) {
				gtag("set", "user_data", {
						"sha256_email_address": getHash(emailAddress),
						"address": {
							"address.sha256_first_name": getHash(firstName),
							"address.sha256_last_name": getHash(lastName),
							"city": city,
							"postal_code": postalCode,
							"country": country
						}
				});
			}
		} catch(error) {
			console.log(error);
		}
	});
</script>

For Google Ads conversion tracking, you can specify a “value” in the conversion snippet OR dynamically populate the “value” using information passed in the sessions' “orderData”. For example, you could modify the conversion snippet to include the order’s “totalAmount”. Be sure to use your own Google Ads AW-CONVERSION_ID/CONVERSION_LABEL in place of the “AW-XXXXXXX/XXXXXXXXXXXXXX”.

Code Block
<script>
 var orderDataTmp = JSON.parse(sessionStorage.getItem("orderData"));
 if(orderDataTmp) {
 var orderValue = orderDataTmp.totalAmount;
 var transactionId = orderDataTmp.orderId;
 gtag('event', 'conversion', {
 'send_to': 'AW-XXXXXXXX/XXXXXXXXXXXXXXXXXXXX',
 'value': orderValue,
 'currency': 'USD',
 'transaction_id': transactionId
 }
 );
 }
</script>

See here for more information

...