Calling update_campaign with a geo_target_ids list replaces ALL campaign location criteria, including negative exclusions. In our case, adding a new country to positive targets silently removed a USA negative exclusion (criterion 2840, negative=True). This was only caught by running a post-change GAQL verification query. Expected behaviour: geo_target_ids should replace only positive targets, leaving negative criteria intact. Or at minimum, warn that existing negative criteria will be removed and list them. This is a data safety issue — users won't notice the exclusion is gone until US traffic starts showing up in reports.
Calling update_campaign with a geo_target_ids list replaces ALL campaign location criteria, including negative exclusions. In our case, adding a new country to positive targets silently removed a USA negative exclusion (criterion 2840, negative=True). This was only caught by running a post-change GAQL verification query. Expected behaviour: geo_target_ids should replace only positive targets, leaving negative criteria intact. Or at minimum, warn that existing negative criteria will be removed and list them. This is a data safety issue — users won't notice the exclusion is gone until US traffic starts showing up in reports.