<!DOCTYPE html>
<html lang="en">
<head>
<title>My App</title>
<script src="https://tag.grainql.com/v4/your-tenant-id.js"></script>
</head>
<body>
<h1>Welcome</h1>
<button id="cta" data-track>Get Started</button>
<form id="contact-form" action="/contact" method="post">
<input name="email" type="email" required />
<button type="submit">Send</button>
</form>
<div id="consent">
<p>We use analytics to improve this site.</p>
<button id="accept">Accept analytics</button>
<button id="decline">Decline</button>
</div>
<script>
document.getElementById('cta').addEventListener('click', () => {
GrainTag.track('cta_clicked', { location: 'hero' });
});
document.getElementById('contact-form').addEventListener('submit', async (event) => {
event.preventDefault();
GrainTag.track('form_submitted', { form_id: 'contact-form' });
await GrainTag.getInstance().flush();
event.target.submit();
});
document.getElementById('accept').addEventListener('click', () => {
GrainTag.getInstance().consent.grant(['analytics']);
});
document.getElementById('decline').addEventListener('click', () => {
GrainTag.getInstance().consent.revoke();
});
</script>
</body>
</html>