Время создания
Filters

When adding code into a page that has to call crt.ClosePageRequest to close the page in the code, it's a very common pattern to want to close the page without the standard dialog prompt to the user asking about unsaved changes appearing. It is possible to override the crt.CanDiscardUnsavedDataRequest handler to return true to do so, but most of the time you don't want this to happen for any close page event, just the one in your particular code path(s). This leads to somewhat over-complicated code to set an attribute so that the crt.CanDiscardUnsavedDataRequest handler can know if you've gone down this code path where it can be discarded or it's from some other source such as the user clicking to close the page, introducing possible bugs.

 

I would propose that it should be possible to pass in a parameter to the crt.ClosePageRequest call to specifically tell that handler whether it should discard the unsaved changes or not, defaulted to false so that current behaviour is maintained. This would look something like this in my view:

{
	"request": "usr.SomeHandler",
	"handler": async (request, next) => {
		// Some logic which decides that the page should be closed without saving
		
		// Close the page without prompting the user
		request.$context.executeRequest({
			type: "crt.ClosePageRequest",
			$context: request.$context,
			canDiscardUnsavedData: true
		});
		


		return next.handle(request);
	}
}

 

This is a lot more natural and clear what is happening, as all the logic is contained within the single handler's logic, and so doesn't require jumping to different handlers (which aren't obvious from just looking at the handler in question's code in the current ways of doing this) and unpicking that the code is preventing that popup elsewhere.

1 comments

Hello Harvey Adcock,

We have registered this idea and passed it to the responsible R&D team for consideration in future releases.

Show all comments
Availability_Matrix
Coming_Soon
syntech

Syntech Availability Matrix for Creatio - Coming Soon
We are pleased to announce that Syntech Availability Matrix for Creatio will be released soon.

Syntech Availability Matrix for Creatio is an interactive visualization component designed specifically for real estate developers, property sales teams, and project managers. The application presents buildings, sections, floors, and units, providing an intuitive overview of project inventory and unit availability directly within Creatio.

Key Features
- Availability Matrix Unit Layout
Represent apartments, offices, or properties as color-coded tiles for quick status identification and navigation.
- Interactive Building Visualization
Display residential or commercial projects in a visual building structure with units organized by floors and sections.
- Works with Any Data Structure
The component can be configured without coding to visualize virtually any existing data model in Creatio.

The solution will be released soon.

Like 0

Like

Share

0 comments
Show all comments
Screenshot_Tool
Available
New_in_Syntech

We are pleased to announce the release of a new free application - Syntech Screenshot Tool for Creatio.

What it is

Syntech Screenshot Tool for Creatio is a Freedom UI add-on that enables users to capture screenshots of Creatio homepage and dashboard pages directly from the application interface.

There is no longer a need to use external screenshot tools, browser extensions, or manual image editing. The application provides a fast and convenient way to create presentation-ready visuals directly within Creatio.

Key Features

Simple screenshot creation
An intuitive interface allows users to quickly capture screenshots of Homepages and Dashboards, minimizing effort and accelerating reporting workflows.

Select a suitable format

  • Lightweight JPG - for quick sharing
  • Multi-page PDF - for printing and archiving

The application is already available in the Creatio Marketplace. Simply search for Syntech Screenshot Tool for Creatio and install it in your environment.

We look forward to your feedback and reviews after using it!
https://marketplace.creatio.com/app/syntech-screenshot-tool-creatio 

Like 0

Like

Share

3 comments

Great idea, tried it out, but quality of PDF for sharing is low so we cannot read the text of our Dashboards ... 😔

Damien Collot,

Thank you very much for your feedback; we'll definitely take it into account and make improvements)

Damien Collot,

We would appreciate it if you could send screenshots to our email address, support@syntech.digital  We'll do our best to resolve the issue. Thank you!

Show all comments

Hi team, Anyone managed to disable the crt.IndicatorWidget link to the list? the idea is to prevent open the list of records on click the number.

Thanks,

 

Like 0

Like

4 comments

You could try adding CSS and add this to the link for the number?

pointer-events: none;

We've use the handler crt.AnalyticsDataGridGetColumnsRequest to override what clicking on the widget does in order to have it open a specific page - you could also use this handler to disable it from opening the list popup by simply not calling next?.handle(request) within the handler code, e.g.:

{
	request: "crt.AnalyticsDataGridGetColumnsRequest",
	handler: async (request, next) => {
		if(request.widgetAttributePrefix == "DYN_IndicatorWidget_2dfak12") {
			return;
		} else {
			return next?.handle(request);
		}
	}
}

Hi Ruan and Harvey. Thanks both for the quick response. I used the fuction above plus a css class to hide the underline on move over.

 

.indicator-widget-wrapper:not(.design-time,.not-clickable-metric):hover
.indicator-widget-label-position-above-under
.indicator-widget-metric {
   text-decoration: underline;
}

Harvey Adcock,

That is excellent. Thanks for that!

Show all comments
GoogleAnalytics
#ExternalLandingPage
website tracking
#10.0.0
Marketing_Creatio

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

  1. The landing page domain is added to the allowed tracking websites list under Web analytics → Settings.
  2. The GA4 account is connected — it shows Connected in the Web analytics settings panel.
  3. The crt-web-tracking.js script (with data-resource-id) is placed before on the landing page.
  4. 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

  1. 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?
  2. 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?
  3. Is crt_user_id required for a session to be ingested, or can Creatio ingest anonymous sessions with only crt_session_id?
  4. 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?
  5. 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?
  6. 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?
  7. 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 - 

 

Like 1

Like

0 comments
Show all comments