sanitizeTextLite — GTM Variable Template for String
sanitizeTextLite CORE String
Sanitizes a string by replacing line breaks and tabs with spaces, collapsing multiple whitespace characters into a single space, and trimming leading/trailing whitespace.
When to Use This
String Manipulation
Transform, clean, and normalize text data for consistent downstream processing.
Examples
Collapse multiple spaces
INPUT
Text To Sanitize: Hello world test
OUTPUT
Hello world test
Replace line breaks and tabs
INPUT
Text To Sanitize: Line1\nLine2\tTabbed\rReturn
OUTPUT
Line1 Line2 Tabbed Return
Non-string input returns undefined
INPUT
Text To Sanitize: 12345
OUTPUT
undefined
GTM Configuration
This is what you'll see when you open this variable in Google Tag Manager. Hover the icons for details.
sanitizeTextLite
Text To Sanitize
💾 The string to sanitize and clean.
Supported formats:
✓ String
Supported formats:
✓ String
Input Setup
Input Function (optional)
⚙️ Optional pre-processing function applied to the input before internal logic (e.g., normalize encoding, convert to string). Internal transformations such as whitespace normalization will still apply afterward.
Result Handling
Output Function (optional)
⚙️ Optional function to apply to the result before returning it (e.g., str => str.toUpperCase(), val => val + ' cleaned' for string modifications). Useful for chaining transformations on the output.
Text To Sanitize string
💡 Type any text to see the result update live
🎯 Using special value — click input to type instead
Test with:
Falsy
Truthy
🔗 Result Handling — Chain Variables
Chain apply-mode variables to the output. Each variable receives the result of the previous one.
sanitizeTextLite()
Related Variables
Same category: String
Under the Hood
📜 View Implementation Code
/**
* Sanitizes a string by:
* - Replacing line breaks and tabs with spaces
* - Collapsing multiple whitespace characters into a single space
* - Trimming leading and trailing whitespace
*
* @param {string} data.src - The string to sanitize.
* @param {Function|string} [data.out] - Optional output handler: function to transform result or string with format.
*
* Direct-mode specific parameters:
* @param {Function} [data.pre] - Optional pre-processor function to transform src before sanitizing.
*
* @returns {string|undefined} The sanitized string or undefined if input is not a string.
*
* @framework ggLowCodeGTMKit
*/
const sanitizeTextLite = function(input) {
if (typeof input !== 'string') {
return undefined;
}
let cleaned = input.split('\n').join(' ')
.split('\r').join(' ')
.split('\t').join(' ');
while (cleaned.indexOf(' ') !== -1) {
cleaned = cleaned.split(' ').join(' ');
}
return cleaned.trim();
};
const safeFunction = fn => typeof fn === 'function' ? fn : x => x;
const out = safeFunction(data.out);
// ===============================================================================
// sanitizeTextLite - Direct mode
// ===============================================================================
const applyCast = (castFn, value) => safeFunction(castFn)(value);
const value = applyCast(data.pre, data.src);
return out(sanitizeTextLite(value));
// ===============================================================================
// sanitizeTextLite() – Apply Mode
// ===============================================================================
/*
return function(value) {
return out(sanitizeTextLite(value));
};
*/🧪 View Test Scenarios (5 tests)
✅ '[example] Collapse multiple spaces'
✅ '[example] Replace line breaks and tabs'
✅ String with leading and trailing whitespace - trims edges
✅ String with mixed whitespace issues - sanitizes completely
✅ '[example] Non-string input returns undefined'