[go: up one dir, main page]

Page MenuHomePhabricator

Donors included wrongly in email send due to "country".
Open, MediumPublic

Description

Donor Relations team recently identified some CIDs that were wrongly included in a Great Britain email send, even though their place of residence is outside of Great Britain.

Example CIDs:

  • 14000414
  • 37086081
  • 57682669

On Acoustic's side, one of the criteria used to determine which donors will be included in an audience query is the country field. Since their country field was equal to country=GB these donors got included.

Is it possible that the country field is not getting updated for some donors post donation?


Please add any tags/subscribers I might have missed, thank you!

Event Timeline

It looks like this is not a new issue - we were only made aware of it as we now hardcode the donation link in fundraising emails. So where the link would previously have geolocated and not been a donor-facing issue, donors are now landing on the UK form as they are part of that list and received the UK mailing. But if you look in mailing events, in some of these cases donors have been on the UK list for a number of years (all have given in GBP once in the past, but not recently).

So the question is: Why did their country not import (or get overriden in Civi) when their newer donations made in the correct currency and country of residence came in? And why is it the GBP donation that is sticking, when many more have been made in another currency (including earliest and most recent)?

greg triaged this task as Medium priority.Wed, Dec 4, 5:29 PM
greg moved this task from Triage to DRI Backlog on the Fundraising-Backlog board.

@KHancock99 found another one: Canadian donor on the USA send list here: cid=49222232 (only ever donated in CAD, with a Canada residential address too), although there is another Civi record with USD here: 59101896 (same email). The earliest donation was in CAD, but I guess they were travelling so donated in USD in 2022, and that has stuck, somehow.

Why would we choose one over the other? (I'll merge these down the line).

Looking at the first one of these[[ 57682669 | https://civicrm.wikimedia.org/civicrm/contact/view?reset=1&cid=57682669&selectedChild=report_101 ]] - her country has been set to GB since 2022 - & it has been that in the contribution tracking record - I need to check whether

  1. we don't collect the country on the form because we assume the country in the url is right or
  2. we collect it & ignore it....

OK - I found what is hitting donation queue consumer (donations_queue_consume-20241127-131401.log.civi1002.bz2.txt) and the donation message has

street_address - address in Denmark
city - city in Denmark
country - en_GB

I will check with @Cstone & @Wfan but it looks like we are putting country onto the form as a hidden field & using the url value

In payment-wiki yes, country is as hidden field, can only manually updated in URL, currency is also hidden, while when we are getting unsupported currency in url, currency will show the drop down to choose other to donate. But for donate wiki, country was geolocated and can chosen in the drop-down, currency is depends on country.

So it seems the donor will have seen a chance to change country like

image.png (387×433 px, 24 KB)

But if they do not select it there we don't ask again / present it to them. It seems like @Pcoombe added that in August-ish

The decision to omit country (eg. on the payments form) is around form completion rates but there is the accuracy trade off

It looks like this is not a new issue - we were only made aware of it as we now hardcode the donation link in fundraising emails. So where the link would previously have geolocated and not been a donor-facing issue, donors are now landing on the UK form as they are part of that list and received the UK mailing.

I didn't realize we had switched to hardcoded countries, did we do it to handle the geolocation currency issue? Like 1000 JPY to 1000 USD?

So the question is: Why did their country not import (or get overriden in Civi) when their newer donations made in the correct currency and country of residence came in? And why is it the GBP donation that is sticking, when many more have been made in another currency (including earliest and most recent)?

Putting more data from the examples here:
cid=57682669
Their first donation was in GBP, country=GB, but rest of address in Denmark. (Somehow they got to the GB form in 2022)
They then kept donating in DKK. We aren't collecting address info on the Denmark form so their country was being sent through as DK, but nothing else -> address didn't get updated, country still GB

cid=14000414
Their first donation was in EUR, country=IE, no other address data
In 2019 their full address was submitted, but somehow they got the GB form so country=GB and currency= GBP
They kept donating in EUR but we aren't collecting address info on the Ireland form so their country was being sent through as IE but nothing else, and the address was not being updated

cid=37086081
This one is paypal so somehow GB got in there to begin with, and then US wasn't enough alone to update it

Options on how to handle this:

  • Current civi code is not updating an address based just on a country change. I think we probably still want to keep it that way? But it will cause situations like this. Maybe if only country is there, overwrite that?
  • Another way to deal with this is to add in more address fields on credit card forms that don't currently have them. That would need the donor to be geolocated to the country to get the right form in the first place but it would have helped the first two example donors

Hiya @Cstone, to answer your question:

I didn't realize we had switched to hardcoded countries, did we do it to handle the geolocation currency issue? Like 1000 JPY to 1000 USD?

the answer is yes, we've opted to hardcode the country=XX parameter in donate.wiki URLs in recent campaigns for the reason you mention.


The rest of this comment doesn’t pertain to this task exactly, but I’m adding it here for more context. Hardcoding the country is not a foolproof solution, as there are scenarios where it can have the opposite effect.

Example of where hardcoding country works against us:
Donor is on our US audience and receives a US email campaign (...&country=US) but their latest donation was in Mexican Peso e.g. 500MXN. Their donate.wiki URL on the email will then look like
https://donate.wikimedia.org/?country=US&hpc=500 which will render ask amounts of $500 USD and upwards.

@Eileenmcnaughton what is the status on adding more wmf_donor fields, could we make a last_donation_country and calculate that on civi's end based on the latest currency?

@Cstone if the last donation country is just based off the last donation currency then isn't the field just last_donation_currency by any other name? Or is the point that they can't transform USD to US when sending emails from Acoustic & putting the country in the url?

Yeah second part Eileen I was trying to think of a way to fix the issues with the bad data we already have where you could be on the US list, but last donated in MXN like in Panos's example

@Cstone - hmm - but maybe it makes more sense to pass the currency in the url since that is the information that is accurate? Because sometimes the donor country WILL be right & it seems like it could get confusing

p.s. here is another donor coming from AU with donation in AUD, but marked with country US https://civicrm.wikimedia.org/civicrm/contact/view?reset=1&cid=66781861&selectedChild=summary