From 0248e6991a175161834d5165f2c54781a6d71a6a Mon Sep 17 00:00:00 2001 From: Lindsey Volta Date: Mon, 1 Jun 2026 20:58:29 +0000 Subject: [PATCH 1/3] chore(format): Update formatter to handle Google domain email addresses --- .../ads/datamanager/util/UserDataFormatter.java | 6 ++++++ .../ads/datamanager/util/UserDataFormatterTest.java | 12 ++++++++++++ 2 files changed, 18 insertions(+) diff --git a/data-manager-util/src/main/java/com/google/ads/datamanager/util/UserDataFormatter.java b/data-manager-util/src/main/java/com/google/ads/datamanager/util/UserDataFormatter.java index b12e26c..3322d77 100644 --- a/data-manager-util/src/main/java/com/google/ads/datamanager/util/UserDataFormatter.java +++ b/data-manager-util/src/main/java/com/google/ads/datamanager/util/UserDataFormatter.java @@ -146,6 +146,12 @@ public String formatEmailAddress(String emailAddress) { // "Create variations of your email address" at: // https://support.google.com/a/users/answer/9282734 + // Removes plus sign (+) and all characters that follow it. + int plusIndex = username.indexOf('+'); + if (plusIndex != -1) { + username = username.substring(0, plusIndex); + } + // Removes all periods (.). username = PERIOD_PATTERN.matcher(username).replaceAll(""); } diff --git a/data-manager-util/src/test/java/com/google/ads/datamanager/util/UserDataFormatterTest.java b/data-manager-util/src/test/java/com/google/ads/datamanager/util/UserDataFormatterTest.java index cc4200b..6a2a83e 100644 --- a/data-manager-util/src/test/java/com/google/ads/datamanager/util/UserDataFormatterTest.java +++ b/data-manager-util/src/test/java/com/google/ads/datamanager/util/UserDataFormatterTest.java @@ -37,6 +37,10 @@ public void testFormatEmailAddress_validInputs() { "Case should be normalized in domain", "quinny@example.com", formatter.formatEmailAddress("QuinnY@EXAMPLE.com")); + assertEquals( + "Plus sign and everything after should not be stripped from non google emails", + "user.name+nyc@example.com", + formatter.formatEmailAddress("user.name+NYC@Example.com")); } @Test @@ -69,6 +73,14 @@ public void testFormatEmailAddress_gmailVariations() { assertEquals( "jeffersonloveshiking@googlemail.com", formatter.formatEmailAddress("j.e.f..ferson.Loves.hiking@googlemail.com")); + assertEquals( + "Plus sign and everything after should be stripped from gmail.com address", + "janedoe@gmail.com", + formatter.formatEmailAddress("Jane.Doe+shopping@gmail.com")); + assertEquals( + "Plus sign and everything after should be stripped from googlemail.com address", + "janedoe@googlemail.com", + formatter.formatEmailAddress("Jane.Doe+shopping@googlemail.com")); } @Test From fe42d365be93f32b194eb3f1ee52f0b7c9ab07b1 Mon Sep 17 00:00:00 2001 From: Lindsey Volta Date: Mon, 1 Jun 2026 21:45:18 +0000 Subject: [PATCH 2/3] Update email addresses --- .../ads/datamanager/util/UserDataFormatterTest.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/data-manager-util/src/test/java/com/google/ads/datamanager/util/UserDataFormatterTest.java b/data-manager-util/src/test/java/com/google/ads/datamanager/util/UserDataFormatterTest.java index 6a2a83e..a556502 100644 --- a/data-manager-util/src/test/java/com/google/ads/datamanager/util/UserDataFormatterTest.java +++ b/data-manager-util/src/test/java/com/google/ads/datamanager/util/UserDataFormatterTest.java @@ -75,12 +75,12 @@ public void testFormatEmailAddress_gmailVariations() { formatter.formatEmailAddress("j.e.f..ferson.Loves.hiking@googlemail.com")); assertEquals( "Plus sign and everything after should be stripped from gmail.com address", - "janedoe@gmail.com", - formatter.formatEmailAddress("Jane.Doe+shopping@gmail.com")); + "cloudysanfrancisco@gmail.com", + formatter.formatEmailAddress("Cloudy.SanFrancisco+shopping@gmail.com")); assertEquals( "Plus sign and everything after should be stripped from googlemail.com address", - "janedoe@googlemail.com", - formatter.formatEmailAddress("Jane.Doe+shopping@googlemail.com")); + "cloudysanfrancisco@googlemail.com", + formatter.formatEmailAddress("Cloudy.SanFrancisco+shopping@googlemail.com")); } @Test From 06025a3684cb73a6664d4117e76ab57bd099dbe4 Mon Sep 17 00:00:00 2001 From: Lindsey Volta Date: Tue, 2 Jun 2026 14:05:21 +0000 Subject: [PATCH 3/3] Update version of util library --- data-manager-util/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data-manager-util/build.gradle b/data-manager-util/build.gradle index 1c6ae2c..fabc2ee 100644 --- a/data-manager-util/build.gradle +++ b/data-manager-util/build.gradle @@ -21,7 +21,7 @@ plugins { group = 'com.google.api-ads' description = 'Utilities for working with the Data Manager API' -version = '0.2.0' +version = '0.3.0' sourceCompatibility = 1.8 targetCompatibility = 1.8