Skip to content

Commit b534cc0

Browse files
committed
Add GA4
1 parent c95c835 commit b534cc0

2 files changed

Lines changed: 20 additions & 2 deletions

File tree

public/js/script.js

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,11 @@ $(() => {
2525
loadingSpinner.classList.add('d-flex');
2626

2727
let data = new FormData(event.target);
28+
let jsonData = formDataToJSON(data);
2829
let succeed = false;
2930
fetch(event.target.action, {
3031
method: inputForm.method,
31-
body: formDataToJSON(data),
32+
body: jsonData,
3233
headers: {
3334
'Accept': 'application/json',
3435
'Content-Type': 'application/json'
@@ -59,7 +60,9 @@ $(() => {
5960
backButton.classList.remove("d-none");
6061
copyButton.classList.remove("d-none");
6162
downloadButton.classList.remove("d-none");
62-
})
63+
});
64+
// GA4
65+
gtag('event', 'submit_form', validateDataToGA4(jsonData));
6366
};
6467

6568
backButton.onclick = () => {
@@ -132,6 +135,12 @@ function formDataToJSON(formData) {
132135
return JSON.stringify(data);
133136
}
134137

138+
function validateDataToGA4(formData) {
139+
let data = JSON.parse(formData);
140+
delete data['cf-turnstile-response'];
141+
return JSON.stringify(data);
142+
}
143+
135144
function showAlert(message) {
136145
const alertBox = document.getElementById('data');
137146
alertBox.classList.remove("d-none");

views/main.html

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,15 @@
2929
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-coy.min.css">
3030
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.css">
3131
<link rel="stylesheet" href="css/styles.css">
32+
<!-- Google tag (gtag.js) -->
33+
<script async src="https://www.googletagmanager.com/gtag/js?id=G-0QW5RS22VP"></script>
34+
<script>
35+
window.dataLayer = window.dataLayer || [];
36+
function gtag(){dataLayer.push(arguments);}
37+
gtag('js', new Date());
38+
39+
gtag('config', 'G-0QW5RS22VP');
40+
</script>
3241
<script src="js/script.js" defer></script>
3342
</head>
3443

0 commit comments

Comments
 (0)