Last active
October 4, 2025 16:33
-
-
Save it-can/188acc89637160d21ab9a37e1bbf0b2c to your computer and use it in GitHub Desktop.
Revisions
-
it-can revised this gist
Apr 4, 2025 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -18,6 +18,6 @@ transaction_id: "ORDER ID", value: AMOUNT currency: 'EUR', user_data: JSON.stringify(user_data_info) }); </script> -
it-can revised this gist
Mar 14, 2025 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
LoadingSorry, something went wrong. Reload?Sorry, we cannot display this file.Sorry, this file is invalid so it cannot be displayed. -
it-can revised this gist
Mar 14, 2025 . 1 changed file with 21 additions and 21 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,23 +1,23 @@ <script> var user_data_info = { sha256_email_address: '{{ normalizeAndHashEmailAddress($invoice->email) }}', sha256_phone_number: '{{ normalizeAndHash(formatPhoneE164($invoice->billing_telephone)) }}', address: { sha256_first_name: '{{ normalizeAndHash($firstname ?? '') }}', sha256_last_name: '{{ normalizeAndHash($lastname ?? '') }}', sha256_street: '{{ normalizeAndHash($invoice->billing_address . ' ' . $invoice->billing_address_nr) }}', postal_code: '{{ $invoice->billing_zipcode }}', city: '{{ $invoice->billing_city }}', country: '{{ $invoice->billing_country }}', new_customer: {{ $new_customer ? 'true' : 'false' }} } }; // Google Ads conversion tracking zaraz.track("conversion", { transaction_id: "ORDER ID", value: AMOUNT currency: 'EUR', user_data: user_data_info }); </script> -
it-can revised this gist
Mar 14, 2025 . 2 changed files with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changesLoadingSorry, something went wrong. Reload?Sorry, we cannot display this file.Sorry, this file is invalid so it cannot be displayed. -
it-can revised this gist
Mar 14, 2025 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
LoadingSorry, something went wrong. Reload?Sorry, we cannot display this file.Sorry, this file is invalid so it cannot be displayed. -
it-can revised this gist
Mar 14, 2025 . 1 changed file with 21 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,5 +1,26 @@ <?php if (! function_exists('formatPhoneE164')) { /** * Format phonenumber to E164 (i use this library https://github.com/Propaganistas/Laravel-Phone) * * * @return mixed|string */ function formatPhoneE164($value) { $value = Str::lower(trim($value)); try { return (new PhoneNumber($value, 'NL')) ->formatE164(); } catch (Exception $e) { } return $value; } } if (! function_exists('normalizeAndHash')) { function normalizeAndHash(string $value, bool $trimIntermediateSpaces = false): string { -
it-can revised this gist
Mar 14, 2025 . 2 changed files with 0 additions and 0 deletions.There are no files selected for viewing
LoadingSorry, something went wrong. Reload?Sorry, we cannot display this file.Sorry, this file is invalid so it cannot be displayed.LoadingSorry, something went wrong. Reload?Sorry, we cannot display this file.Sorry, this file is invalid so it cannot be displayed. -
it-can renamed this gist
Mar 14, 2025 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
it-can revised this gist
Mar 14, 2025 . No changes.There are no files selected for viewing
-
it-can created this gist
Mar 14, 2025 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,23 @@ <script> var user_data_info = { sha256_email_address: '{{ normalizeAndHashEmailAddress($invoice->email) }}', sha256_phone_number: '{{ normalizeAndHash(formatPhoneE164($invoice->billing_telephone)) }}', address: { sha256_first_name: '{{ normalizeAndHash($firstname ?? '') }}', sha256_last_name: '{{ normalizeAndHash($lastname ?? '') }}', sha256_street: '{{ normalizeAndHash($invoice->billing_address . ' ' . $invoice->billing_address_nr) }}', postal_code: '{{ $invoice->billing_zipcode }}', city: '{{ $invoice->billing_city }}', country: '{{ $invoice->billing_country }}', new_customer: {{ $new_customer ? 'true' : 'false' }} } }; // Google Ads conversion tracking zaraz.track("conversion", { transaction_id: "ORDER ID", value: AMOUNT currency: 'EUR', user_data: user_data_info }); </script> This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,36 @@ <?php if (! function_exists('normalizeAndHash')) { function normalizeAndHash(string $value, bool $trimIntermediateSpaces = false): string { // Normalizes by first converting all characters to lowercase, then trimming spaces. $normalized = strtolower($value); if ($trimIntermediateSpaces) { // Removes leading, trailing, and intermediate spaces. $normalized = str_replace(' ', '', $normalized); } else { // Removes only leading and trailing spaces. $normalized = trim($normalized); } return hash('sha256', strtolower(trim($normalized))); } } if (! function_exists('normalizeAndHashEmailAddress')) { function normalizeAndHashEmailAddress(string $emailAddress): string { $normalizedEmail = strtolower($emailAddress); $emailParts = explode('@', $normalizedEmail); if (count($emailParts) > 1 && preg_match('/^(gmail|googlemail)\.com\s*/', $emailParts[1])) { // Removes any '.' characters from the portion of the email address before the domain // if the domain is gmail.com or googlemail.com. $emailParts[0] = str_replace('.', '', $emailParts[0]); $normalizedEmail = sprintf('%s@%s', $emailParts[0], $emailParts[1]); } return normalizeAndHash($normalizedEmail, true); } }