We had recent cases that people use same email address and different first name & last name and Marketo creates a new record…
Well... that's what your instance's form dedupe key (not actually a "primary key" as it is not enforced as such at the database level) says it should do, no?
I’m thinking if velocity scripts can query Marketo's database to check whether the email address already exist or not in a Marketo webform.
It sounds to me like you've set up your instance in a way that specifically complicates this client's needs.
One workaround is as follows:
- create a custom (String) field like First Name Proxy
- on forms for this client, publish the First Name Proxy, not the standard First Name
- add the standard First Name as a Hidden field with either an empty value or a constant like "N/A"
- use the proxy field in tokens, etc.
This setup ensure that this client's leads implicitly dedupe on Email alone, since the other part of the compound key will have a constant value.