In X-cart 4 google analytics is not implemented using Global Site Tag. So when you do convert over (I will create a post for this later) you will need to know how to track internal searches in analytics.
Firstly you will need to add the q get variable to the admin screen option below.

This will tell google analytics if a page loads with a GET parameter q then you need to track the value of q. In xcart you will have the search tracking defined like so.
var _gaq = _gaq || [];
_gaq.push(["_setAccount", "{$config.Google_Analytics.ganalytics_code}"]);
{if $main eq "search"}
terms='{$search_prefilled.substring|escape}';
searchterms=terms.toLowerCase().replace(/\s/g,'+');
_gaq.push(['_trackPageview','/search?q='+searchterms]);
{else}
_gaq.push(['_trackPageview']);
{/if}
In xcart 4 once you have gtag.js implemented you have the following
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id={$config.Google_Analytics.ganalytics_code}"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){$ldelim}dataLayer.push(arguments);{$rdelim}
gtag('js', new Date());
gtag('config', '{$config.Google_Analytics.ganalytics_code}');
</script>
This would need to be amended to the following
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id={$config.Google_Analytics.ganalytics_code}"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){$ldelim}dataLayer.push(arguments);{$rdelim}
gtag('js', new Date());
{if $main eq "search"}
terms='{$search_prefilled.substring|escape}';
searchterms=terms.toLowerCase().replace(/\s/g,'+');
gtag('config', '{$config.Google_Analytics.ganalytics_code}', {$ldelim} 'page_path': '/search?q='+searchterms {$rdelim});
{else}
gtag('config', '{$config.Google_Analytics.ganalytics_code}');
{/if}
</script>