We set up a new list and integrated it with a custom built form on our website. The point of this is for customers to sign up to this list as a sweepstakes giveaway (we didn't use social campaigns as it's just for the website itself).
The problem we're encourtering is when someone tries to sign up who has already signed up for our newsletter (our default list), they get an error message saying "This email address is already registered." Also, if they aren't signed up for the default list, it automatically signs them up.
Is there a way around this?
I can definitely help you out with this! What you are seeing with the error stating that a contact already exists is the expected behavior of the Constant Contact API. The way to work around this is to implement a search to see if a contact with their specified email address already exists. If the contact does already exist, then you want to fetch the details of the update the existing contact. If the contact does not exist, then you can proceed to create a new contact.
Specifically speaking about the lists that a contact is added to, they should only be placed on the lists that you specify in your API request when you are creating or updating the contact. How are you specifying what list they should be added to?
Here are some links to our documentation on how you can search for a contact and update a contact:
Search for a contact: http://developer.constantcontact.com/docs/contacts-api/contacts-collection.html (In order to search, you must use the "email" parameter that is described on this page)
Update existing contact: http://developer.constantcontact.com/docs/contacts-api/contacts-resource.html?method=PUT
Lastly, if you are using one of our code wrappers that is provided, I may be able to provide some additional guidance on how to perform these actions within that code wrapper. If you do have any questions about this process or any concerns, please reply to this post and we will be happy to assist you!