Google Analytics Ecommerce conversion code decimal issue
This first piece of code, if I recall, simply grabs the info, so I do not think the issues is here since there is no place where any decimal or amount is converted, but I provide it since it is part of the feed to GA.
<!-- Google Analytics Ecommerce Portion -->
<script type="text/javascript">// <![CDATA[
_gaq.push(['_addTrans',
'<convio:session param="dc:transactionID" name="120"></convio:session>', // order ID - required
'', // affiliation or store name
'<convio:session param="dc:giftAmount" name="120"></convio:session>', // total - required
'', // tax
'', // shipping
'<convio:session param="dc:donorCity" name="120"></convio:session>', // city
'<convio:session param="dc:donorState" name="120"></convio:session>', // state or province
'<convio:session param="dc:donorCountry" name="120"></convio:session>' // country
]);
_gaq.push(['_addItem',
'<convio:session param="dc:transactionID" name="120"></convio:session>', // order ID - required
'<convio:session param="dc:designeeNames" name="120"></convio:session>', // SKU/code - required
'<convio:session param="dc:designeeNames" name="120"></convio:session>', // product name
'', // category or variation
'<convio:session param="dc:giftAmount" name="120"></convio:session>', // unit price - required
'1' // quantity - required
]);
_gaq.push(['_trackTrans']); //submits transaction to the Analytics servers
// ]]></script>
This is the piece that I think may contain something that is causing the issue, and hope someone out there with coding experience may identify a missing slash or something to fix the error. My attention is draw to the line in the third section - 'transactionTotal': amount.value.replace(/\\$/,''), - since it seems to be dealing with the amount.
<script type="text/javascript">
console.log('e_load');
//Url params
var urlParams = function(name) {
var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
if (results == null) {
return null;
} else {
return results[1] || 0;
}
};
//function to search element into transaction summary entries and return value
var searchFor = function(textToSearch){
result = { label:'',value:'' };
var transactionEle = document.getElementsByClassName('transaction-summary-entry');
for(var i=0; i<transactionEle.length;i++){
var labels = transactionEle[i].getElementsByClassName('entry-label');
for(var j=0; j<labels.length;j++){
//indentify the text into entry label and assign the value if exists
if(textToSearch.toLowerCase().indexOf(labels[j].textContent.toLowerCase())>-1 ){
result.label = textToSearch;
result.value = transactionEle[i].getElementsByClassName('entry-value')[0].textContent;
return result;
}
}
}
return result;
}
var tracking_code = searchFor('Tracking Code:');
var amount = searchFor('Total Gift Amount:');
var formId = urlParams('df_id');
//validate data is filled
if(tracking_code.value && amount.value && formId){
//push transaction
window.dataLayer = window.dataLayer || []
dataLayer.push({
'transactionId': tracking_code.value,
'transactionTotal': amount.value.replace(/\\$/,''),
'transactionTax': 0,
'transactionProducts': [{
'sku': 'df_id='+formId,
'name': 'form-id-'+formId,
'category': 'Donation',
'price': amount.value.replace(/\\$/,''),
'quantity': 1
}]
});
console.log('e_ok');
}
</script>
Comments
-
Most probably the issue is with the lines that pass gift amount:
<convio:session param="dc:giftAmount" name="120"></convio:session>The values for the price and total parameters do not respect any currency formatting. Currency conversions ought to be handled before sending the data to the Google Analytics server. Try replacing above dc:giftAmount tags with this one:
[[E130:"[[S120:dc:giftAmount]]" number]]update:
To cover all areas, you can also remove currency formatting in the second dataLayer.push call by replacing all:
amount.value.replace(/\\$/,'')With:
Number(amount.value.replace(/[^0-9\\.-]+/g,""))0 -
Is it legitimate for me to simply swap in
[[E130:"[[S120:dc:giftAmount]]" number]] in place of <convio:session param="dc:giftAmount" name="120"></convio:session>
with it being the two different code formats? Will there be any conflict, or do I need to convert the rest of the codes to match?0 -
Romany Nassief:
Most probably the issue is with the lines that pass gift amount:
<convio:session param="dc:giftAmount" name="120"></convio:session>The values for the price and total parameters do not respect any currency formatting. Currency conversions ought to be handled before sending the data to the Google Analytics server. Try replacing above dc:giftAmount tags with this one:
[[E130:"[[S120:dc:giftAmount]]" number]]update:
To cover all areas, you can also remove currency formatting in the second dataLayer.push call by replacing all:
amount.value.replace(/\\$/,'')With:
Number(amount.value.replace(/[^0-9\\.-]+/g,""))So, I went ahead and inserted the text as is, figuring it would work, and it did. But here is what I find. In the initial gathering code, the dc:giftAmount line appears twice. It is in the first half, which is for addTrans, and then again in second half, for addItem. I placed
[[E130:"[[S120:dc:giftAmount]]" number]]
in just the bottom section. I ran a test donation through, and viewed the source of the thank you page. The top half, where I left the original code in, got fed '$12.00' and the bottom section where I placed the new code, received '12' which seems opposite of what I had expected. Does that sound right - should it just return an unformatted solid number?0 -
Romany Nassief:
Most probably the issue is with the lines that pass gift amount:
<convio:session param="dc:giftAmount" name="120"></convio:session>The values for the price and total parameters do not respect any currency formatting. Currency conversions ought to be handled before sending the data to the Google Analytics server. Try replacing above dc:giftAmount tags with this one:
[[E130:"[[S120:dc:giftAmount]]" number]]update:
To cover all areas, you can also remove currency formatting in the second dataLayer.push call by replacing all:
amount.value.replace(/\\$/,'')With:
Number(amount.value.replace(/[^0-9\\.-]+/g,""))I have placed both code tweaks in place, and ran a test donation, but the results were the same. A donation of 1003.32 was sent to GA (I checked the source code of the thank you page and that amount was captured), but GA shows it as $1.00.
Any other ideas?0
Categories
- All Categories
- Shannon parent
- shannon 2
- shannon 1
- 21 Advocacy DC Users Group
- 14 BBCRM PAG Discussions
- 89 High Education Program Advisory Group (HE PAG)
- 28 Luminate CRM DC Users Group
- 8 DC Luminate CRM Users Group
- Luminate PAG
- 5.9K Blackbaud Altru®
- 58 Blackbaud Award Management™ and Blackbaud Stewardship Management™
- 409 bbcon®
- 2.1K Blackbaud CRM™ and Blackbaud Internet Solutions™
- donorCentrics®
- 1.1K Blackbaud eTapestry®
- 2.8K Blackbaud Financial Edge NXT®
- 1.1K Blackbaud Grantmaking™
- 527 Education Management Solutions for Higher Education
- 1 JustGiving® from Blackbaud®
- 4.6K Education Management Solutions for K-12 Schools
- Blackbaud Luminate Online & Blackbaud TeamRaiser
- 16.4K Blackbaud Raiser's Edge NXT®
- 4.1K SKY Developer
- 547 ResearchPoint™
- 151 Blackbaud Tuition Management™
- 61 everydayhero
- 3 Campaign Ideas
- 58 General Discussion
- 115 Blackbaud ID
- 87 K-12 Blackbaud ID
- 6 Admin Console
- 949 Organizational Best Practices
- 353 The Tap (Just for Fun)
- 235 Blackbaud Community Feedback Forum
- 55 Admissions Event Management EAP
- 18 MobilePay Terminal + BBID Canada EAP
- 36 EAP for New Email Campaigns Experience in Blackbaud Luminate Online®
- 109 EAP for 360 Student Profile in Blackbaud Student Information System
- 41 EAP for Assessment Builder in Blackbaud Learning Management System™
- 9 Technical Preview for SKY API for Blackbaud CRM™ and Blackbaud Altru®
- 55 Community Advisory Group
- 46 Blackbaud Community Ideas
- 26 Blackbaud Community Challenges
- 7 Security Testing Forum
- 3 Blackbaud Staff Discussions
- 1 Blackbaud Partners Discussions
- 1 Blackbaud Giving Search™
- 35 EAP Student Assignment Details and Assignment Center
- 39 EAP Core - Roles and Tasks
- 59 Blackbaud Community All-Stars Discussions
- 20 Blackbaud Raiser's Edge NXT® Online Giving EAP
- Diocesan Blackbaud Raiser’s Edge NXT® User’s Group
- 2 Blackbaud Consultant’s Community
- 43 End of Term Grade Entry EAP
- 92 EAP for Query in Blackbaud Raiser's Edge NXT®
- 38 Standard Reports for Blackbaud Raiser's Edge NXT® EAP
- 12 Payments Assistant for Blackbaud Financial Edge NXT® EAP
- 6 Ask an All Star (Austen Brown)
- 8 Ask an All-Star Alex Wong (Blackbaud Raiser's Edge NXT®)
- 1 Ask an All-Star Alex Wong (Blackbaud Financial Edge NXT®)
- 6 Ask an All-Star (Christine Robertson)
- 21 Ask an Expert (Anthony Gallo)
- Blackbaud Francophone Group
- 22 Ask an Expert (David Springer)
- 4 Raiser's Edge NXT PowerUp Challenge #1 (Query)
- 6 Ask an All-Star Sunshine Reinken Watson and Carlene Johnson
- 4 Raiser's Edge NXT PowerUp Challenge: Events
- 14 Ask an All-Star (Elizabeth Johnson)
- 7 Ask an Expert (Stephen Churchill)
- 2025 ARCHIVED FORUM POSTS
- 322 ARCHIVED | Financial Edge® Tips and Tricks
- 164 ARCHIVED | Raiser's Edge® Blog
- 300 ARCHIVED | Raiser's Edge® Blog
- 441 ARCHIVED | Blackbaud Altru® Tips and Tricks
- 66 ARCHIVED | Blackbaud NetCommunity™ Blog
- 211 ARCHIVED | Blackbaud Target Analytics® Tips and Tricks
- 47 Blackbaud CRM Higher Ed Product Advisory Group (HE PAG)
- Luminate CRM DC Users Group
- 225 ARCHIVED | Blackbaud eTapestry® Tips and Tricks
- 1 Blackbaud eTapestry® Know How Blog
- 19 Blackbaud CRM Product Advisory Group (BBCRM PAG)
- 1 Blackbaud K-12 Education Solutions™ Blog
- 280 ARCHIVED | Mixed Community Announcements
- 3 ARCHIVED | Blackbaud Corporations™ & Blackbaud Foundations™ Hosting Status
- 1 npEngage
- 24 ARCHIVED | K-12 Announcements
- 15 ARCHIVED | FIMS Host*Net Hosting Status
- 23 ARCHIVED | Blackbaud Outcomes & Online Applications (IGAM) Hosting Status
- 22 ARCHIVED | Blackbaud DonorCentral Hosting Status
- 14 ARCHIVED | Blackbaud Grantmaking™ UK Hosting Status
- 117 ARCHIVED | Blackbaud CRM™ and Blackbaud Internet Solutions™ Announcements
- 50 Blackbaud NetCommunity™ Blog
- 169 ARCHIVED | Blackbaud Grantmaking™ Tips and Tricks
- Advocacy DC Users Group
- 718 Community News
- Blackbaud Altru® Hosting Status
- 104 ARCHIVED | Member Spotlight
- 145 ARCHIVED | Hosting Blog
- 149 JustGiving® from Blackbaud® Blog
- 97 ARCHIVED | bbcon® Blogs
- 19 ARCHIVED | Blackbaud Luminate CRM™ Announcements
- 161 Luminate Advocacy News
- 187 Organizational Best Practices Blog
- 67 everydayhero Blog
- 52 Blackbaud SKY® Reporting Announcements
- 17 ARCHIVED | Blackbaud SKY® Reporting for K-12 Announcements
- 3 Luminate Online Product Advisory Group (LO PAG)
- 81 ARCHIVED | JustGiving® from Blackbaud® Tips and Tricks
- 1 ARCHIVED | K-12 Conference Blog
- Blackbaud Church Management™ Announcements
- ARCHIVED | Blackbaud Award Management™ and Blackbaud Stewardship Management™ Announcements
- 1 Blackbaud Peer-to-Peer Fundraising™, Powered by JustGiving® Blogs
- 39 Tips, Tricks, and Timesavers!
- 56 Blackbaud Church Management™ Resources
- 154 Blackbaud Church Management™ Announcements
- 1 ARCHIVED | Blackbaud Church Management™ Tips and Tricks
- 11 ARCHIVED | Blackbaud Higher Education Solutions™ Announcements
- 7 ARCHIVED | Blackbaud Guided Fundraising™ Blog
- 2 Blackbaud Fundraiser Performance Management™ Blog
- 9 Foundations Events and Content
- 14 ARCHIVED | Blog Posts
- 2 ARCHIVED | Blackbaud FIMS™ Announcement and Tips
- 59 Blackbaud Partner Announcements
- 10 ARCHIVED | Blackbaud Impact Edge™ EAP Blogs
- 1 Community Help Blogs
- Diocesan Blackbaud Raiser’s Edge NXT® Users' Group
- Blackbaud Consultant’s Community
- Blackbaud Francophone Group
- 1 BLOG ARCHIVE CATEGORY
- Blackbaud Community™ Discussions
- 8.3K Blackbaud Luminate Online® & Blackbaud TeamRaiser® Discussions
- 5.7K Jobs Board