SELECT `justfunctions.eu.extract_all_url_parameters`("justdataplease.com/test/?medium=cpc&source=google&keyword=hey&source=facebook")
/*--Output--
{"keyword":"hey","medium":"cpc","source":"facebook"}
*/
CREATE OR REPLACE FUNCTION `your_project_id.your_dataset_id.extract_all_url_parameters`(`url` STRING) RETURNS JSON
LANGUAGE js AS r'''// Remove the fragment identifier (everything after '#')
var main_part = url.split('#')[0];
// Extract the query string part
var query_string = main_part.split('?')[1];
var params = query_string.split('&');
var obj = {};
for(var i = 0; i < params.length; i++) {
var keyValue = params[i].split('=');
obj[keyValue[0]] = keyValue[1];
}
return obj;
''' OPTIONS ( description = '''Extracts all parameters from a <url> in JSON format.''' )
JavaScript User Defined Function (JavaScript UDF)
See something wrong? Contact us or report an issue on Github.