Hi everyone,
I'm trying to get Google Analytics 4 data into Creatio using the Web analytics feature on an external landing page. I've followed every step in the Academy guide below, waited well past the documented 24–48 hour processing window, and tried both the simple and the advanced (GTM) injection approaches — but the Web analytics section in Creatio still shows no data from my property.
GA4 itself is collecting data correctly, so the break appears to be somewhere between GA4 and Creatio. I'd really appreciate help narrowing down where.
Environment
Creatio version
10.0.0 (cloud)
Products
Marketing Creatio, Enterprise, Service Enterprise
Landing page
Static page hosted on GitHub Pages (https://.github.io/SiteVisit/)
GA4 property
Measurement ID G-XXXXXXXXXX
GTM container
GTM-XXXXXXX
Documentation followed
Use Google Analytics on external landing pages
What I have configured
In Creatio
- The landing page domain is added to the allowed tracking websites list under Web analytics → Settings.
- The GA4 account is connected — it shows Connected in the Web analytics settings panel.
- The
crt-web-tracking.js script (with data-resource-id) is placed before on the landing page.
crt-external-form-capture.js (with data-api-key) is also on the page, and form submissions do reach Creatio successfully — leads/contacts are being created without issues.
On the landing page ()
window.TAG_ID = 'G-XXXXXXXXXX';
In Google Tag Manager
- User-defined variables:
Creatio Contact ID (URL variable) and Creatio Session String (Custom JavaScript).
- Tag
GA_Config_Website — type Google Tag, Tag ID G-XXXXXXXXXX, trigger All Pages, with configuration parameters:
crt_session_id = {{Creatio Session String}}
crt_user_id = {{Creatio Contact ID}}
- Container is published.
In GA4
- Two event-scoped custom dimensions created:
crt_session_id and crt_user_id, with matching event parameter names.
What is working
- GA4 is receiving traffic: 20 active users, 197 events, 55 page views over the last 28 days.
- The
crt_session_id custom dimension is reporting values in GA4 — the dimension report shows 10 distinct items.
- In the Network tab, the
collect request to GA4 includes ep.crt_session_id with a populated value.
- Creatio External Form Capture works — form submissions create records normally.
What is not working
- The Web analytics section in Creatio shows no data from my property (only the out-of-the-box demo records for
ourcompany.com).
- No sessions, actions, or contacts from my actual landing page appear.
Observations that may be relevant
1. crt_user_id is never sent. Inspecting the collect request payload, I see ep.crt_session_id but no ep.crt_user_id parameter at all. This makes sense to me because {{Creatio Contact ID}} is a URL variable, and on a direct visit (no Contact ID in the query string) it resolves to empty — GTM then omits the parameter entirely.
Is crt_user_id mandatory for Creatio to ingest the session, and if so, what is it supposed to resolve to for anonymous first-time visitors?
2. The crt_session_id value has four colon-separated segments, not three. The value being sent looks like:
2110895659.1786632618:G-XXXXXXXXXX:ASV1.G-XXXXXXXXXX:1786947843
That is ::ASV1.:. My understanding from the guide is that the expected format is :: — three segments. The extra ASV1.G-XXXXXXXXXX segment comes from how the GA session ID is being read out of the _ga_ cookie.
Could a malformed value cause Creatio to silently discard the session? What exact string should the Creatio Session String Custom JavaScript variable return?
3. A large share of events have no dimension value. In the crt_session_id dimension report, (not set) accounts for 23 events across 15 users out of 55 total events. I suspect this is because my page loads GA4 twice — once via the direct gtag.js snippet in and once via the GTM Google Tag, both using the same Measurement ID. Only the GTM one carries the crt_* configuration parameters.
Should the direct gtag.js snippet be removed entirely when using the GTM (advanced) approach? The guide includes the create-object.js and crt-gtag.js scripts, which appear to expect window.TAG_ID and a gtag instance to exist — so I'm unclear whether the two approaches are mutually exclusive or meant to coexist.
What I have already tried
- Waited 48+ hours (and several days beyond) for GA processing.
- Tried both the simple (direct
gtag.js) and advanced (GTM) injection methods.
- Re-published the GTM container and verified tag firing in Preview mode.
- Confirmed the custom dimensions are registered in GA4 and are returning data.
- Verified the landing page URL is in the allowed tracking websites list, exactly matching the live URL including the trailing slash.
- Confirmed the GA4 connection shows as Connected in Creatio.
- Verified
crt-web-tracking.js, crt-external-form-capture.js, create-object.js and crt-gtag.js all return HTTP 200 in the Network tab.
My questions
- What triggers the GA4 → Creatio data pull? Is it a scheduled process/job, and is there anywhere in Creatio (system setting, process log, integration log) where I can verify that the sync is actually running and see why it returns nothing?
- What is the exact expected format of the
crt_session_id and crt_user_id parameter values? Is there a reference implementation of the Creatio Session String Custom JavaScript variable?
- Is
crt_user_id required for a session to be ingested, or can Creatio ingest anonymous sessions with only crt_session_id?
- Are the simple and advanced approaches mutually exclusive? Specifically, should the direct
gtag.js snippet be removed when the Google Tag is fired through GTM instead?
- Are there additional requirements on the GA4 side — e.g. Google Signals, a specific data retention setting, Data API access, or a particular service-account permission level on the connected property?
- Does the Web analytics dashboard only populate for identified Contacts? In other words, does the GA session need to be linked to a Contact via form submission before anything shows up, and is the demo
ourcompany.com data expected to persist alongside real data?
- Is there a known limitation with static hosting (GitHub Pages / Netlify) or with pages served from a
github.io subdomain rather than a custom domain?
Any pointers on where to look next — particularly on the Creatio side to confirm whether the pull is running at all — would be hugely appreciated.
Thanks in advance!
GA reports section -


Custom Definition -

GTM Variables -

GTM tag -

Creatio Web Analytics -
