Best Practice Question

Regular Participant

Best Practice Question

I have  CRM application where I want to send eMail from using Constant Contact as my mail provider.  In the crm application I manage my own email address lists.  When a user wants to send an email they pick which recipients they want to receive the email.  So I need to programmatically do the following:


1.  Gather all the required email address

2.  Create a list and add the email addresses to that list

3.  Create an eMail campaign

4.  Send that eMail campaign to the list of email addresses I created in step 2

5.  Delete the list I created in step 2


6.  At a later date gather statistics for that eMail campaign


Does it make sense to build my email program this way?  Can I delete the list after I send the eMail campaign?  Will it cause any issues gathering statistics on the eMail campaign if I delete the list?  Should I delete the contacts as well as the list? 






The steps you've outlined would work very well. The only minor caveat to consider is that email campaigns are scheduled to send at a time in the future (minimum of 5-10 minutes in the future), and during peak times it can take as long as long as 10-15 minutes to send a campaign depending on the number of recipients. Given this, you would need to ensure that the list is not deleted until after the campaign has been sent.


In terms of gathering data at a later date, deleting the list will not impact that in any way, as the statistics are associated with contacts and campaigns rather than lists. Additionally, you should not delete the contacts after the campaign has been sent. Due to how our billing system works, this could end up appearing as though the user is trying to game the system. Any contacts that are being mailed to should remain in the account.


Please let us know if you have any additional questions!





Elijah G.
API Support Engineer

Hello @StevenR503,

You can delete the list after you send the email campaign. However, you will lose your contacts' engagement histories if you do. The engagement history is ultimately a report of what the contact did in regards to the email (opened, clicked, bounced, unsubscribed, etc.). Since this is valuable information, I wouldn't recommend deleting contacts after you email them. Is there a reason that you want to delete the contacts? If so, I may be able to come up with a workaround to suite your needs.

Sara Lambert
Community & Social Media Support

If you find my post helpful, and it answers your question, please mark it as an "Accepted Solution" by clicking the Accept as Solution button in the bottom right hand corner of this post.
Regular Participant

Hi, @Sara_L,


Here is the business case for what I am trying to accomplish.  My company manages Condo Associations and we are responsible for managing some 45,000 homeowners who we communicate with at times via email.  Opted in of course.....


I have a CRM ( custom built ).  As part of my CRM, I had an email blast built into it so my managers could send emails to their respective homeowners.  We are struggling with being blacklisted due to the volume of emails.  So I want to keep my front end system the same for my managers but swap out my email server with Constant Contact.  So I built a Java program to do that.


In my CRM I maintain all the email addresses for homeowners, board members and tenants.  The manager can select whom to send an email to ( board only, owners only, tenants only, owners and tenats.... ) Additionally, we might send emails to owners and tenants for one floor of one building, or to one entire building but not others.  The point being, is I generate a list of email addresses on the fly.  So what I want to do is create this list in constant contact when I send the email, then remove the list because it may be different the next time a manager sends an email to that property.


So the question is, should I just use a unique identifier for each list I create and never delete them?  Or can I just remove the list after sending the email. or ????

Developer Portal

View API documentation, code samples, get your API key.

Visit Page