Fleshing out an idea


Fleshing out an idea

Hi all - new to constant contact and the APIs. I'd like to run by what it is we are trying to do and was just wondering if this is possible with the product and/or in combination with the APIs.


What follows is a rough use-case description


A) People opt-in on our website to get email notifications about service categories they are interested in. The user can select up to 10 different categories. There are thousands of categories to choose from.


B) Every tuesday we have new products that come online for various categories. After these new products are released, we would like to send each person who opted in above, and email concerning info about the new products in the categories they are intested in.


Looking at constant contact I think we would need to do the following?


1) As people opt-in, we would add them as a "contact" and do one of the following:


  • Store their category preference as custom fields (import or programatically via API). My question with this is can a custom field have multiple values? Or would we have a separate "custom field" for each category they are interested in?
  • OR, automatically add them to one of the "category contact lists", there could be thousands of these. Is that possible in constant contact? Can we programatically create these lists then provision the "contact" to them based on the value of a custom field?


2) When we need to send an email to the users as described in (B) above, assuming the contacts are not already in "lists", is there a way to easily search for contacts where CustomFieldX = valueY? Do dynamically create a "list" in constant contact for a given category?


3) We envision having one "email campaign" configured to be sent to a list on-demand as necessary. This campaign would have a content template I guess. Can these templates have variables in there? Is there any semantic support for iteration over a data-set? OR would we have to just output that as a single string value and present that to the template for singular replacement?


4) Is there any limit to the # of campaigns you can have?


Hopefully this makes sense, in concept of what we are trying to do and am just curious if constant contact has these capabilities or toolset to make it happen.


thanks for reading!








Thanks for your interest in our APIs!  Below are my answers to your questions.  If I were going to implement this, I would put contacts into lists based on the categories they choose.  This way, you'll have one list in your account for each category, and you can select appropriate lists in your account to mail to based on the campaign's target audience.  I would probably put a check into the code to see if a list with the desired category exists, and if not, create the list for indefinite use.  If you're sure every category will be utilized, you can create the lists in advance, but it will be a little cumbersome to see lists when logged into the account.


1.  I would avoid putting categories into custom fields, for the following reason:


2.  You would have to get each contact separately from our database, or sort through a generated spreadsheet to sort contacts by custom field and put them into a temporary list to mail to.  We don't currently have a way to query by custom field through the API.  You could keep your own identical contact database so that you can sort it efficiently as needed when you create campaigns, and sync your database with ours nightly/daily.  The other option, querying the Constant Contact account for all contacts through the API, is very data intensive and should be avoided.


3.  You can pull contact details, like custom fields, into an email campaign, but that is the only variable support we have for email campaigns.  You will most likely store an html 'template' on your side, and create campaigns in Constant Contact based on that template, supplying us with the full html for a campaign each time.


4.  There isn't a limit to the number of email campaigns you can have, but if you start to get into the tens or hundreds of thousands of campaigns, the account could become sluggish or unresponsive due to loading all of the data.


Let me know if you have follow up questions!


Best Regards,

Shannon W.

API Support Specialist

Developer Portal

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

Visit Page