Small code snippet to track user page views from sites using Memberspace (e.g a Squarespace site or actually any site really) into Airtable.
For Squarespace simply place in config/settings/advanced/code-injection/footer and replace the API_KEY, BASE_ID and TABLE_ID with those found in the Memberspace admin. This will only record page views for logged in users.
<script src="https://cdnjs.cloudflare.com/ajax/libs/js-polyfills/0.1.43/polyfill.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/airtable@0.11.5/lib/airtable.umd.min.js"></script>
<script>
const handleReady = ({ detail }) => {
const data = MemberSpace.getMemberInfo();
console.log(data);
if (data.isLoggedIn) {
var base = new Airtable({apiKey: 'API_KEY'}).base('BASE_ID');
base('TABLE_ID').create({
"DateTime": new Date().toISOString(),
"Email": data.memberInfo.email,
"MemberSpaceId": data.memberInfo.id,
"Page": window.location.pathname
}, function(err, record) {
if (err) {
console.error(err);
return;
}
console.log(record.getId());
});
}
}
document.addEventListener('MemberSpace.ready', handleReady);
</script>