GTM Starter Kit
GTM Starter Kit
A ready-to-import Google Tag Manager container that stands up a baseline of form-submit conversion tracking for GA4 and Meta, built on top of the GTM Essentials variables. Import it into a fresh (or existing) web container to get the tags, trigger, and variables below.
Quick import
- GTM → Admin → Import Container.
- Choose
gtm-starter-kit.json, select your workspace. - Pick Merge and Rename conflicting so nothing existing is overwritten.
- Preview, then Confirm.
Placeholder account/container IDs (0) are remapped into whatever container you
import into. Everything lands in two folders: GTM Starter Kit (the tags,
trigger, and new variables) and GTM Essentials (the shared variables).
Before it works, do these three things (see Setup):
set your GA4 Measurement ID, make sure the Meta Pixel base is loaded, and make
sure something pushes form_submit to the dataLayer.
What it creates
Tags — folder GTM Starter Kit
| Tag | Type | Fires on | Notes |
|---|---|---|---|
| Config - GA4 | Google tag | Initialization - All Pages | Tag ID = {{GA4 - Measurement ID}}. |
| GA4 - Event - Form Submit | GA4 Event | form_submit | Event name ga4e_form_submit, Measurement ID {{GA4 - Measurement ID}}, Once per event. Parameters below. |
| Meta - Event - Lead - Form Submit | Custom HTML | form_submit | Fires fbq('track', 'Lead', …) with page path / traffic source / ad placement, plus eventID: {{cJS - Custom Event ID}} for browser/server dedupe. |
| Conversion Linker | Conversion Linker | All Pages | Improves Google Ads click-ID cookie durability. |
GA4 - Event - Form Submit → event parameters:
| Parameter | Value |
|---|---|
cjs_traffic_source | {{cJS - Traffic Source}} |
cjs_ad_placement | {{cJS - Ad Placement}} |
Trigger — folder GTM Starter Kit
- form_submit — Custom Event, event name
form_submit(fires on everyform_submitdataLayer event). Drives both the GA4 event and Meta tags.
Variables — folder GTM Starter Kit
- GA4 - Measurement ID — Constant,
G-0000000000. Replace with your real Measurement ID — every GA4 tag reads from this one place.
User-Provided Data variable — add this one by hand. GTM's User-Provided Data variable has no stable container-export type, so it isn't in the JSON. Add it after import: Variables → New → Variable Configuration → User-Provided Data, set it to Automatic, and name it
User Provided Data. It's a two-click add and pairs with GA4 / Google Ads enhanced conversions.
Built-in variables enabled
Click Classes / Element / ID / Target / Text / URL, Event, Form Classes / Element / ID / Target / Text / URL, HTML ID, Page Hostname / Path / URL, Referrer.
Included from GTM Essentials
These variables come from the GTM Essentials toolkit
entry and are bundled here (folder GTM Essentials) so the kit is self-contained.
Full details and source files are in
gtm-essentials/README.md.
Maintenance — keep this in sync with GTM Essentials. The variables below are copies baked into
gtm-starter-kit.json. Whenever GTM Essentials gains or changes a variable, refresh this export too so the copies don't drift. (A.jsonfile can't carry an inline comment, so this reminder lives here.)
- First-party cookie variables (
1PC - …):_fbc,_fbp,fbclid,_gcl_aw,_uetmsclkid,_ttp,_twclid,li_fat_id. cJS - Traffic Source— last-touch traffic source (source).cJS - Ad Placement—utm_placement, persisted per session (source).DLV - gtm.uniqueEventId— GTM's built-in page-local event counter; cache key for the variable below.cJS - Custom Event ID— globally unique event ID for Meta Pixel / CAPI deduplication, cached per{{DLV - gtm.uniqueEventId}}(source).cJS - Page Title,cJS - Post Title,cJS - Post ID,cJS - Form ID— page/post/form context (sources).
Setup after import
- GA4 - Measurement ID → set the Constant to your
G-XXXXXXXXXX. - Meta Pixel base must load before Meta - Event - Lead - Form Submit
(the tag calls
fbq(...), sofbqhas to exist). Add your Pixel base tag, ideally gated on consent. form_submitevent must be pushed to the dataLayer. The toolkit's Elementor Listener pushes exactly this event; use it (or your platform's equivalent listener).
Things to verify on import
- GA4 event Measurement ID — confirm the tag's Measurement ID field resolves
to
{{GA4 - Measurement ID}}(or point it at the Config - GA4 Google tag). - User-Provided Data — not in the JSON (see above); add it via the UI.
- Trigger mapping — Config - GA4 should fire on Initialization - All Pages and Conversion Linker on All Pages; re-select if either didn't map.
Suggestions
- Firing option: every tag ships set to Once per event (Advanced Settings → Tag firing options), so each trigger event fires the tag at most once — including repeat form submits on the same page load.
- Consent: for Consent Mode setups, fire Conversion Linker on Consent Initialization - All Pages, and gate the Meta tag on marketing consent.
The code
{
"exportFormatVersion": 2,
"exportTime": "2026-08-04 00:00:00",
"containerVersion": {
"path": "accounts/0/containers/0/versions/0",
"accountId": "0",
"containerId": "0",
"containerVersionId": "0",
"name": "GTM Starter Kit",
"container": {
"path": "accounts/0/containers/0",
"accountId": "0",
"containerId": "0",
"name": "GTM Starter Kit",
"publicId": "GTM-XXXXXXX",
"usageContext": [
"WEB"
],
"fingerprint": "0",
"tagManagerUrl": ""
},
"tag": [
{
"accountId": "0",
"containerId": "0",
"tagId": "1",
"name": "Config - GA4",
"type": "googtag",
"parameter": [
{
"type": "TEMPLATE",
"key": "tagId",
"value": "{{GA4 - Measurement ID}}"
}
],
"firingTriggerId": [
"2147479573"
],
"tagFiringOption": "ONCE_PER_EVENT",
"fingerprint": "0",
"parentFolderId": "2"
},
{
"accountId": "0",
"containerId": "0",
"tagId": "2",
"name": "GA4 - Event - Form Submit",
"type": "gaawe",
"parameter": [
{
"type": "TEMPLATE",
"key": "eventName",
"value": "ga4e_form_submit"
},
{
"type": "BOOLEAN",
"key": "sendEcommerceData",
"value": "false"
},
{
"type": "LIST",
"key": "eventParameters",
"list": [
{
"type": "MAP",
"map": [
{
"type": "TEMPLATE",
"key": "name",
"value": "cjs_traffic_source"
},
{
"type": "TEMPLATE",
"key": "value",
"value": "{{cJS - Traffic Source}}"
}
]
},
{
"type": "MAP",
"map": [
{
"type": "TEMPLATE",
"key": "name",
"value": "cjs_ad_placement"
},
{
"type": "TEMPLATE",
"key": "value",
"value": "{{cJS - Ad Placement}}"
}
]
}
]
},
{
"type": "TEMPLATE",
"key": "measurementIdOverride",
"value": "{{GA4 - Measurement ID}}"
}
],
"firingTriggerId": [
"1"
],
"tagFiringOption": "ONCE_PER_EVENT",
"fingerprint": "0",
"parentFolderId": "2"
},
{
"accountId": "0",
"containerId": "0",
"tagId": "3",
"name": "Meta - Event - Lead - Form Submit",
"type": "html",
"parameter": [
{
"type": "TEMPLATE",
"key": "html",
"value": "<script>\nfbq('track', 'Lead', {\n lead_type: 'Form Submit', // Define Lead Type\n // form_name: // (Optional) Translate form ID to Form Name via LUT or Variable\n content_name: '{{Page Path}}', // Finds page path\n traffic_source: '{{cJS - Traffic Source}}', // Finds Last Touch traffic source\n ad_placement: '{{cJS - Ad Placement}}' // Finds ad placement\n}, {\n eventID: '{{cJS - Custom Event ID}}' // Meta's browser/server dedupe key\n});\n</script>"
},
{
"type": "BOOLEAN",
"key": "supportDocumentWrite",
"value": "false"
}
],
"firingTriggerId": [
"1"
],
"tagFiringOption": "ONCE_PER_EVENT",
"fingerprint": "0",
"parentFolderId": "2"
},
{
"accountId": "0",
"containerId": "0",
"tagId": "4",
"name": "Conversion Linker",
"type": "gclidw",
"parameter": [
{
"type": "BOOLEAN",
"key": "enableCrossDomain",
"value": "false"
}
],
"firingTriggerId": [
"2147479553"
],
"tagFiringOption": "ONCE_PER_EVENT",
"fingerprint": "0",
"parentFolderId": "2"
}
],
"trigger": [
{
"accountId": "0",
"containerId": "0",
"triggerId": "1",
"name": "form_submit",
"type": "CUSTOM_EVENT",
"customEventFilter": [
{
"type": "EQUALS",
"parameter": [
{
"type": "TEMPLATE",
"key": "arg0",
"value": "{{_event}}"
},
{
"type": "TEMPLATE",
"key": "arg1",
"value": "form_submit"
}
]
}
],
"fingerprint": "0",
"parentFolderId": "2"
}
],
"builtInVariable": [
{
"accountId": "0",
"containerId": "0",
"type": "CLICK_CLASSES",
"name": "Click Classes"
},
{
"accountId": "0",
"containerId": "0",
"type": "CLICK_ELEMENT",
"name": "Click Element"
},
{
"accountId": "0",
"containerId": "0",
"type": "CLICK_ID",
"name": "Click ID"
},
{
"accountId": "0",
"containerId": "0",
"type": "CLICK_TARGET",
"name": "Click Target"
},
{
"accountId": "0",
"containerId": "0",
"type": "CLICK_TEXT",
"name": "Click Text"
},
{
"accountId": "0",
"containerId": "0",
"type": "CLICK_URL",
"name": "Click URL"
},
{
"accountId": "0",
"containerId": "0",
"type": "EVENT",
"name": "Event"
},
{
"accountId": "0",
"containerId": "0",
"type": "FORM_CLASSES",
"name": "Form Classes"
},
{
"accountId": "0",
"containerId": "0",
"type": "FORM_ELEMENT",
"name": "Form Element"
},
{
"accountId": "0",
"containerId": "0",
"type": "FORM_ID",
"name": "Form ID"
},
{
"accountId": "0",
"containerId": "0",
"type": "FORM_TARGET",
"name": "Form Target"
},
{
"accountId": "0",
"containerId": "0",
"type": "FORM_TEXT",
"name": "Form Text"
},
{
"accountId": "0",
"containerId": "0",
"type": "FORM_URL",
"name": "Form URL"
},
{
"accountId": "0",
"containerId": "0",
"type": "HTML_ID",
"name": "HTML ID"
},
{
"accountId": "0",
"containerId": "0",
"type": "PAGE_HOSTNAME",
"name": "Page Hostname"
},
{
"accountId": "0",
"containerId": "0",
"type": "PAGE_PATH",
"name": "Page Path"
},
{
"accountId": "0",
"containerId": "0",
"type": "PAGE_URL",
"name": "Page URL"
},
{
"accountId": "0",
"containerId": "0",
"type": "REFERRER",
"name": "Referrer"
}
],
"folder": [
{
"accountId": "0",
"containerId": "0",
"folderId": "1",
"name": "GTM Essentials",
"fingerprint": "0"
},
{
"accountId": "0",
"containerId": "0",
"folderId": "2",
"name": "GTM Starter Kit",
"fingerprint": "0"
}
],
"variable": [
{
"accountId": "0",
"containerId": "0",
"variableId": "1",
"name": "1PC - _fbc",
"type": "k",
"parameter": [
{
"type": "TEMPLATE",
"key": "name",
"value": "_fbc"
},
{
"type": "BOOLEAN",
"key": "decodeCookie",
"value": "true"
}
],
"fingerprint": "0",
"parentFolderId": "1"
},
{
"accountId": "0",
"containerId": "0",
"variableId": "2",
"name": "1PC - _fbp",
"type": "k",
"parameter": [
{
"type": "TEMPLATE",
"key": "name",
"value": "_fbp"
},
{
"type": "BOOLEAN",
"key": "decodeCookie",
"value": "true"
}
],
"fingerprint": "0",
"parentFolderId": "1"
},
{
"accountId": "0",
"containerId": "0",
"variableId": "3",
"name": "1PC - fbclid",
"type": "k",
"parameter": [
{
"type": "TEMPLATE",
"key": "name",
"value": "fbclid"
},
{
"type": "BOOLEAN",
"key": "decodeCookie",
"value": "true"
}
],
"fingerprint": "0",
"parentFolderId": "1"
},
{
"accountId": "0",
"containerId": "0",
"variableId": "4",
"name": "1PC - _gcl_aw",
"type": "k",
"parameter": [
{
"type": "TEMPLATE",
"key": "name",
"value": "_gcl_aw"
},
{
"type": "BOOLEAN",
"key": "decodeCookie",
"value": "true"
}
],
"fingerprint": "0",
"parentFolderId": "1"
},
{
"accountId": "0",
"containerId": "0",
"variableId": "5",
"name": "1PC - _uetmsclkid",
"type": "k",
"parameter": [
{
"type": "TEMPLATE",
"key": "name",
"value": "_uetmsclkid"
},
{
"type": "BOOLEAN",
"key": "decodeCookie",
"value": "true"
}
],
"fingerprint": "0",
"parentFolderId": "1"
},
{
"accountId": "0",
"containerId": "0",
"variableId": "6",
"name": "1PC - _ttp",
"type": "k",
"parameter": [
{
"type": "TEMPLATE",
"key": "name",
"value": "_ttp"
},
{
"type": "BOOLEAN",
"key": "decodeCookie",
"value": "true"
}
],
"fingerprint": "0",
"parentFolderId": "1"
},
{
"accountId": "0",
"containerId": "0",
"variableId": "7",
"name": "1PC - _twclid",
"type": "k",
"parameter": [
{
"type": "TEMPLATE",
"key": "name",
"value": "_twclid"
},
{
"type": "BOOLEAN",
"key": "decodeCookie",
"value": "true"
}
],
"fingerprint": "0",
"parentFolderId": "1"
},
{
"accountId": "0",
"containerId": "0",
"variableId": "8",
"name": "1PC - li_fat_id",
"type": "k",
"parameter": [
{
"type": "TEMPLATE",
"key": "name",
"value": "li_fat_id"
},
{
"type": "BOOLEAN",
"key": "decodeCookie",
"value": "true"
}
],
"fingerprint": "0",
"parentFolderId": "1"
},
{
"accountId": "0",
"containerId": "0",
"variableId": "17",
"name": "cJS - Traffic Source",
"type": "jsm",
"parameter": [
{
"type": "TEMPLATE",
"key": "javascript",
"value": "function() {\n // Last-touch traffic source for both lead gen and ecommerce conversions\n // Uses sessionStorage to persist source through multi-page funnels (checkout flows, popup forms on internal pages)\n // Distinguishes paid Facebook from organic via UTM convention since fbclid alone is unreliable\n \n var urlParams = new URLSearchParams(window.location.search);\n var referrer = document.referrer.toLowerCase();\n \n // Helper to safely read from sessionStorage with fallback for private browsing/blocked storage\n function getStored(key) {\n try { return sessionStorage.getItem(key) || ''; } catch(e) { return ''; }\n }\n \n // Helper to safely write to sessionStorage\n function setStored(key, value) {\n try { sessionStorage.setItem(key, value); } catch(e) {}\n }\n \n // STEP 1: Capture any fresh signals from current URL into sessionStorage\n // This ensures last-touch works correctly when a user re-enters the site with a new click ID\n \n // Click ID capture - each platform's unique click identifier\n if (urlParams.get('gclid')) setStored('gclid', urlParams.get('gclid'));\n if (urlParams.get('msclkid')) setStored('msclkid', urlParams.get('msclkid'));\n if (urlParams.get('fbclid')) setStored('fbclid', urlParams.get('fbclid'));\n if (urlParams.get('ttclid')) setStored('ttclid', urlParams.get('ttclid'));\n \n // UTM capture - source and medium together let us distinguish paid social from organic social\n if (urlParams.get('utm_source')) setStored('utm_source', urlParams.get('utm_source').toLowerCase());\n if (urlParams.get('utm_medium')) setStored('utm_medium', urlParams.get('utm_medium').toLowerCase());\n \n // Capture the original referrer on first pageview so organic detection works on deep funnel pages\n // Only set this once per session - if storage already has it, this is not the landing page\n if (!getStored('original_referrer') && referrer && referrer.indexOf(window.location.hostname) === -1) {\n setStored('original_referrer', referrer);\n }\n \n // STEP 2: Resolve traffic source using all available signals (URL + stored)\n \n var utmSource = urlParams.get('utm_source') ? urlParams.get('utm_source').toLowerCase() : getStored('utm_source');\n var utmMedium = urlParams.get('utm_medium') ? urlParams.get('utm_medium').toLowerCase() : getStored('utm_medium');\n \n // Paid social detection - requires explicit UTM tagging since fbclid alone catches organic posts too\n // Convention: utm_medium=paid_social with utm_source identifying the platform\n if (utmMedium === 'paid_social') {\n if (utmSource === 'facebook') return 'facebook_ads';\n if (utmSource === 'instagram') return 'instagram_ads';\n if (utmSource === 'linkedin') return 'linkedin_ads';\n if (utmSource === 'tiktok') return 'tiktok_ads';\n // Fallback for any other paid social platform we haven't bucketed\n return utmSource + '_ads';\n }\n \n // Google Ads - check URL gclid, then stored gclid, then _gcl_aw cookie set by gtag auto-tagging\n if (urlParams.get('gclid') || getStored('gclid')) return 'google_ads';\n if (document.cookie.indexOf('_gcl_aw=') > -1) return 'google_ads';\n \n // Microsoft Ads - msclkid is reliable on its own\n if (urlParams.get('msclkid') || getStored('msclkid')) return 'microsoft_ads';\n \n // TikTok Ads - ttclid is reliable on its own (TikTok organic posts don't append it)\n if (urlParams.get('ttclid') || getStored('ttclid')) return 'tiktok_ads';\n \n // Generic UTM source fallback - catches email, partnerships, custom campaigns\n // Combines source and medium for clarity (e.g. email_newsletter, partner_referral)\n if (utmSource) {\n return utmMedium ? utmSource + '_' + utmMedium : utmSource;\n }\n \n // Facebook organic - fbclid present without paid_social UTM means it came from an organic post\n if (urlParams.get('fbclid') || getStored('fbclid')) return 'facebook_organic';\n \n // STEP 3: Organic referrer detection - use original referrer from session storage if available\n // This makes organic attribution survive multi-page funnels where document.referrer becomes self-referential\n var sourceReferrer = getStored('original_referrer') || referrer;\n \n if (sourceReferrer.indexOf('google.') > -1) return 'google_organic';\n if (sourceReferrer.indexOf('bing.') > -1) return 'bing_organic';\n if (sourceReferrer.indexOf('yahoo.') > -1) return 'yahoo_organic';\n if (sourceReferrer.indexOf('duckduckgo.') > -1) return 'duckduckgo_organic';\n if (sourceReferrer.indexOf('facebook.') > -1 || sourceReferrer.indexOf('fb.') > -1) return 'facebook_organic';\n if (sourceReferrer.indexOf('instagram.') > -1) return 'instagram_organic';\n if (sourceReferrer.indexOf('linkedin.') > -1) return 'linkedin_organic';\n if (sourceReferrer.indexOf('twitter.') > -1 || sourceReferrer.indexOf('x.com') > -1) return 'twitter_organic';\n if (sourceReferrer.indexOf('youtube.') > -1) return 'youtube_organic';\n if (sourceReferrer.indexOf('reddit.') > -1) return 'reddit_organic';\n if (sourceReferrer.indexOf('pinterest.') > -1) return 'pinterest_organic';\n if (sourceReferrer.indexOf('tiktok.') > -1) return 'tiktok_organic';\n \n // No referrer at all = direct (typed URL, bookmark, app, dark social, email client)\n if (!sourceReferrer) return 'direct';\n \n // Same-domain referrer with no other signals = direct (internal navigation from unknown origin)\n if (sourceReferrer.indexOf(window.location.hostname) > -1) return 'direct';\n \n // External referring site we don't have a specific bucket for\n return 'referral';\n}"
}
],
"fingerprint": "0",
"parentFolderId": "1"
},
{
"accountId": "0",
"containerId": "0",
"variableId": "18",
"name": "cJS - Ad Placement",
"type": "jsm",
"parameter": [
{
"type": "TEMPLATE",
"key": "javascript",
"value": "function() {\n // Captures utm_placement from URL on first pageview, persists via sessionStorage.\n // Handles both Meta placements (e.g. \"Audience_Network_Native\", \"Facebook_Mobile_Feed\")\n // and Google Ads placements (e.g. \"g_1t1\" for top-of-page search, \"gmb_\" for Business Profile,\n // \"d_\" for Display Network). The variable doesn't care which platform set the value —\n // utm_source already tells you that. This just captures whatever placement was passed.\n \n var STORAGE_KEY = 'ad_placement';\n \n try {\n // First, check if utm_placement is in the current URL.\n // If yes, this is the freshest signal — overwrite anything stored.\n var urlParams = new URLSearchParams(window.location.search);\n var placementFromUrl = urlParams.get('utm_placement');\n \n if (placementFromUrl) {\n try { sessionStorage.setItem(STORAGE_KEY, placementFromUrl); } catch(e) {}\n return placementFromUrl;\n }\n \n // No utm_placement in current URL — fall back to whatever we stored\n // earlier in this session (e.g. from the original landing page).\n try {\n var stored = sessionStorage.getItem(STORAGE_KEY);\n if (stored) return stored;\n } catch(e) {}\n \n // No URL value, no stored value — return undefined.\n // GA4 will simply omit the parameter rather than send an empty string.\n return undefined;\n \n } catch (e) {\n // URLSearchParams unavailable (very old browsers) or other failure\n return undefined;\n }\n}"
}
],
"fingerprint": "0",
"parentFolderId": "1"
},
{
"accountId": "0",
"containerId": "0",
"variableId": "19",
"name": "cJS - Page Title",
"type": "jsm",
"parameter": [
{
"type": "TEMPLATE",
"key": "javascript",
"value": "function() {\n return document.title;\n}"
}
],
"fingerprint": "0",
"parentFolderId": "1"
},
{
"accountId": "0",
"containerId": "0",
"variableId": "20",
"name": "cJS - Post Title",
"type": "jsm",
"parameter": [
{
"type": "TEMPLATE",
"key": "javascript",
"value": "function() {\n var el = document.querySelector('.entry-title, h1.entry-title, h1');\n if (el && el.textContent) return el.textContent.trim();\n var og = document.querySelector('meta[property=\"og:title\"]');\n return og ? og.getAttribute('content') : undefined;\n}"
}
],
"fingerprint": "0",
"parentFolderId": "1"
},
{
"accountId": "0",
"containerId": "0",
"variableId": "21",
"name": "cJS - Post ID",
"type": "jsm",
"parameter": [
{
"type": "TEMPLATE",
"key": "javascript",
"value": "function() {\n var m = (document.body.className || '').match(/(?:postid|page-id)-(\\d+)/);\n return m ? m[1] : undefined;\n}"
}
],
"fingerprint": "0",
"parentFolderId": "1"
},
{
"accountId": "0",
"containerId": "0",
"variableId": "22",
"name": "cJS - Form ID",
"type": "jsm",
"parameter": [
{
"type": "TEMPLATE",
"key": "javascript",
"value": "function() {\n var f = document.querySelector('form[id]');\n return f ? f.id : undefined;\n}"
}
],
"fingerprint": "0",
"parentFolderId": "1"
},
{
"accountId": "0",
"containerId": "0",
"variableId": "23",
"name": "GA4 - Measurement ID",
"type": "c",
"parameter": [
{
"type": "TEMPLATE",
"key": "value",
"value": "G-0000000000"
}
],
"fingerprint": "0",
"parentFolderId": "2"
},
{
"accountId": "0",
"containerId": "0",
"variableId": "24",
"name": "DLV - gtm.uniqueEventId",
"type": "v",
"parameter": [
{
"type": "INTEGER",
"key": "dataLayerVersion",
"value": "2"
},
{
"type": "BOOLEAN",
"key": "setDefaultValue",
"value": "false"
},
{
"type": "TEMPLATE",
"key": "name",
"value": "gtm.uniqueEventId"
}
],
"fingerprint": "0",
"parentFolderId": "1"
},
{
"accountId": "0",
"containerId": "0",
"variableId": "25",
"name": "cJS - Custom Event ID",
"type": "jsm",
"parameter": [
{
"type": "TEMPLATE",
"key": "javascript",
"value": "function() {\n var id = {{DLV - gtm.uniqueEventId}}; // Page-local counter — the cache key\n\n if (window.customEventIdKey !== id) {\n window.customEventIdKey = id;\n // Globally unique value — this is what actually goes to Meta\n window.customEventId = (new Date()).getTime() + '.' +\n Math.random().toString(36).substring(2, 10);\n }\n\n return window.customEventId;\n}"
}
],
"fingerprint": "0",
"parentFolderId": "1"
}
],
"fingerprint": "0"
}
}