---- dataentry ----
type : integration #do not change this line
systems : MailChimp
name : Add customers to mailing list.
description : Allow customers to 'opt in' to your MailChimp mailing list during checkout.
tags : mailing list, emarketing
date_dt : 2008-05-21
mailchimp_api_version : 1.2
developer_url : http://themancan.com/
----
====== MailChimp ======
fc-mailchimp.php
Included for good measure are the PHP MailChimp API interface, a PHP4-compatible XML parser, RC4 decryption library, and a test harness.
- Upload all 5(!) files to a folder your web server. Customize this block at the top of fc-mailchimp.php:
// ...
$MailChimp_Auth = array(
'apikey' => 'put your API key here' // Use an MailChimp API key to connect to MailChimp.
);
/**
* Use a custom field during checkout? If true, check for the presence of $Custom_Field below.
* If false, always subscribe the customer. Use wisely.
*/
$Use_Custom_Field = true;
$Custom_Field = 'Subscribe'; // Name of the custom "Opt In" field during checkout.
$Custom_Field_Value = 'yes'; // The value of the custom field that indicates the customer's agreement.
$Email_Format = 'html'; // The customer's preferred email format.
$Send_Confirmation = true; // If true, MailChimp will send a confirmation email to the customer.
$List_Name = 'My Awesome List'; // The exact name of your mailing list. No List ID required, we'll look it up.
$key = 'CHANGE THIS TEXT to your own datafeed API key'; // EDIT: Use here your FoxyCart Datafeed API key visble under "Store-->Advanced Settings"
// ...
===== Testing =====
- First, test your MailChimp settings using the script found here: [[http://wiki.foxycart.com/integration/mailchimp_test]]. Download that script and follow the instructions on that page to make sure you have the proper MailChimp API key and list name configured.
- Point the FoxyCart datafeed to http://www.your-domain.com/path/to/fc-mailchimp.php
- Log into your FoxyCart admin and go to Store -> Advanced.
- Check the checkbox to turn the datafeed on, copy your datafeed API key and copy it to your configuration (the $key variable above).
- Enter the URL to ''fc-mailchimp.php'' (e.g. ''http://your.domain.dom/path/to/fc-mailchimp.php'') that you uploaded as described above.
- Enter the exact same data key that you entered above into ''fc-mailchimp.php''.
- Save your settings.
- TEST! It should work, but give it a test transaction to make sure. Enter your datafeed key and the URL of your ''fc-mailchimp.php'' into ''test.xmldatafeed.php'', then open ''http://your.domain.dom/path/to/test.xmldatafeed.php'' in your browser. You should get a page that contains only the word ''foxy'' in reply. If you get something else, double-check your datafeed keys in both files and, if all else fails, pop on by the forums.
- Don't panic. You're done!
===== The "Subscribe" Checkbox =====
==== FoxyCart 2.0+ ====
If your store is on FoxyCart 2.0 or newer, a new template configuration option will automatically insert a newsletter subscribe checkbox as part of the checkout form. To enable that, simply navigate to your store's FoxyCart administration, and on the "configuration" page, enable the "Allow users to sign up for your newsletter" option.
Within the ''fc-mailchimp.php'' file - you'll need to update the ''$Custom_Field'' variable to be set to ''newsletter_subscribe'', and the ''$Custom_Field_Value'' to ''1'' like this:
$Custom_Field = 'newsletter_subscribe'; // Name of the custom "Opt In" field during checkout.
$Custom_Field_Value = '1'; // The value of the custom field that indicates the customer's agreement.
==== FoxyCart 1.1 and older ====
Now you have a datafeed receiver all set up on your server, so it's time to let your customers opt in to your mailing list. To do that, we need to add a [[:v:0.6.0:docs:checkout:customfields|Custom Field]] to your checkout template, so that your customer sees a "Subscribe" checkbox alongside their cart contents. There are a lot of cool things possible custom fields; find out more at [[:v:0.6.0:docs:checkout:customfields|the wiki page on Custom Fields]]. Today we're only going to add a single checkbox to the checkout template. Open the template up in your editor (if it's hosted on your server) or edit it directly from the FoxyCart admin interface, and add the following block of code anywhere in the template:
^^custom_begin^^
You can put the code at the end of the file, or at the beginning -- it doesn't matter. FoxyCart will move the ''Newsletter
^^custom_end^^