Product Support

MailChimp Integration

Integrates Participants Database with your MailChimp account.

Product Setup

This plugin requires you have an account established with MailChimp before you configure it. Once you have your MailChimp account set up, you’ll need to get an API Key.

Getting Your MailChimp API Key

On your avatar menu (upper right corner while logged in to MailChimp) click on “account.” Once there, under the “extras” menu, select “API Keys.” On that screen, you’re given a way to create an API key. You can have several keys, so even if you have a key, it’s a good idea to create a new one for this purpose. Give it a name so you know where it is being used. Once the key code is generated, copy and paste it into the “API Key” setting in the MailChimp Integration settings menu, found under Participants Database in the WP admin.

Setting Up Your Mailing List

When you click on “Save Changes” the API Key will be used to get your list of mailing lists at MailChimp. You will need to have at least one mailing list established in order to use the plugin because new subscribers have to go to a specific list. In the “Subscription List” dropdown will be your mailing lists at MailChimp. If you don’t see it, click on “Save Changes” to refresh the list.

Select the list you want your Participants Database signups to be subscribed to.

Set Up Your “Opt-In” Checkbox

In most cases, you’ll want to provide a way for your users to opt-in to your mailing list. Do this by creating an opt-in field that consists of a check box with the values “yes,no” You can default it to “yes” if you want it checked to begin with. If you are not showing the field to the user in the signup form, you must set the default value to “yes” if you want the person siogning up to be automatically added to your subscription.

Once that is set up, you need to tell the plugin which field it is in the List Select Field setting.

If you want to use another language or give the checkbox a different label, you can use the value label format like this: Yes::yes,No::no

As long as the saved values (the second of each :: pair) are “yes” and “no” it will work.

Completing the Setup

Once you have the API Key and mailing list set up, you can make sure the rest of the settings are what you want. Take a look at the “Settings” tab here for more explanation.

Importing Subscribers

When you import records using a CSV file, these will also be synchronized with your MailChimp list. You can use a CSV import to add a bunch of subscribers or update their subscription status over at MailChimp.

If you already have records in your Participants Database and you want to add them all to your MailChimp list, you need to export them, then re-import them (using the record ID as a match field so you won’t end up with duplicates) which will update all of them with your MailChimp list. Be sure the needed fields are configured to be included in the CSV export by having the “CSV” box checked in the field definition.

Note: CSV imports must contain both the “email” and “list select field” data in order for the subscriber to be added or updated at MailChimp.

Two-Way Synchronization

the webhook link…yours will look different.

When a subscriber receives an email you’ve sent using MailChimp, there is an unsubscribe link they can use to be unsubscribed. In order for this to be reflected in your Participants Database record, a communication link between MailChimp and your WordPress site must be established. This is done using a “webhook” which is a secure URL that the MailChimp list can use to communicate to your WP site.

To set up a webhook, first find the webhook URL that you will see at the top of the MailChimp Integration settings page in your WP admin.  Copy that URL. We’re going to use that over at MailChimp, but first you must flush the permalinks to activate the webhook URL. To do this, go to the “permalinks” setting under the Settings item in your WP admin. On the permalinks settings page just click on “Save Changes” and that will flush the permalinks and make sure the webhook URL is set up to receive data from MailChimp.

Now, go to MailChimp and select the list you are using with Participants Database. Go to the settings page for that list and find the “webhooks” setting.

On the webhooks page, click on the “Create New Webhook” button found on the upper right. This will open a form where you can paste the webhook URL you got from the plugin settings. Once that is saved, you will be able to select what type of messages will be sent. Just accept the defaults and save the webhook.

If you get some kind of error message when trying to set up the webhook, make sure you copied in the exact URL given in the plugin settings. Also, flush the permalinks to be sure WP has the URL set up. Errors such as a 500 or 403 indicate possible security rules on your web server designed to block unauthorized access. Talk to your web host about the problem in cases like this. MailChimp also has a support page for webhooks that could be helpful.

Manually Updating Multiple Records

As of version 1.5, it is possible to update multiple records in a single operation. This is done on the “List Participants” page in the Participants Database admin, there are new MailChimp functions in the “With Selected” dropdown.

To update (synchronize with MailChimp) multiple records, selected the records you want updated, then select “Update to MailChimp” and click “Apply.” All your merge fields and subscribe statuses will be updated to MailChimp, so all the subscriber’s info there will match the info in Participants Database.

Mass Subscribe/Unsubscribe

If you need to subscribe or unsubscribe multiple records, you can to that in a similar way.

Product Settings

API Key

This is the key code provided by MailChimp that is unique to your MailChimp account.

Subscription List

Once you have entered your API key and saved the settings, you can select which list people will be signed up to when they register.

List Select Field

This is the name of the field used to opt in to your list. Usually, it’s a checkbox where they simply say “yes” to being added to the list.

Use Double Opt-In

This means that when someone signs up and indicates they want to join the list, MailChimp sends them an email where they can confirm that choice. This is a really good idea to avoid trouble such as people getting your newsletter who actually don’t want it, or getting spam email addresses into your list. Please note that in some countries, a double-opt-in is a legal requirement for mass email.

The way this works is new registrations will have a “pending” status when they sign up. When (or if) they confirm the subscription, their status will be changed to “subscribed.”

Note: when using double opt-in, new registrations will not be visible in MailChimp until they confirm their subscription. Before they confirm, they are considered “pending” and will not show up in your lists at MailChimp. You can find those registrations at MailChimp if you search for the email address.

Pending Label

While a registrant has a pending status, this label is used for the value of the List Select Field. You can use this in list searches to find people who have not confirmed their subscription yet.

Merge Fields

This setting uses a special string to define additional fields that will be saved in the MailChimp list. Typically, this is their first and last name, but it can be just about anything. It does have to be a field that is included in the Participants Database form because otherwise there won’t be any value to save to the MailChimp subscriber list. The default value for the setting is:

first_name:FNAME,last_name:LNAME

The way this works is this is actually a map of the Participants Database field to the MailChimp field. The format is pdb_field:MAILCHIMP_FIELD with each field pair separated by commas. This is a simple one-to-one mapping: for instance it’s not possible to combine several Participants Database fields into a single MailChimp field.

The Mismatched Merge Fields Warning

If the list of merge fields you have defined in this setting don’t match the list of merge fields defined at MailChimp, you will get a warning message. You can ignore this if you want, the main functionality will work as expected, and any merge fields that do match will work.

What it means is that, for instance, if you didn’t have a “city” merge field defined here, and you did at MailChimp, the data for the registrant’s city will not be sent to MailChimp. The warning is so you will know why your merge fields are not getting populated with data.

F.A.Q.

If a user unsubscribes on their profile page, will they be unsubscribed at MailChimp?

Yes, every time a record is updated on your site, that info is passed to MailChimp, so they can unsubscribe in either place, it won’t matter, they stay synchronized.

I'm not getting subscriber updates from MailChimp, how do I get webhooks working?

To troubleshoot webhooks, follow these steps:

  1. Check the “Subscription List” setting in the add-0n settings and make sure you have the correct list selected
  2. Check the webhook URL at the top of the page. Now go to MailChimp and check the webhook for the list (found in the list’s settings page) Make sure they are the same.
  3. Copy the webhook URL and try it in a browser. You should get a “No request details found.” message. If you get a 403, or a 500, check your site security filters or contact your web host with the information.
  4. If you get a 404, refresh the permalinks in the general settings of your WordPress site, then try to open the webhook URL in the browser again.
I have Double Opt-In checked, and I'm getting signups, but they aren't appearing at MailChimp, what's happening?

Having Double Opt-In checked changes how things work in several ways.

If you have “Use Double Opt-In” checked, and someone signs up, their info is sent to MailChimp only if they have the “List Select Field” checked. In both cases, you won’t see them at MailChimp at first.

If they agree to be on the list when they sing up, their info will be sent to MailChimp, but you will not see them in the list there until they confirm the opt-in by email. You can still find them with a search, however. You’ll see their status is “pending.”

If they don’t agree to join the list, their info won’t be sent to MailChimp at all. In this case, if they later update their record to join the list, their info will be sent to MailChimp at that time and they will need to confirm in order to join the list.

How do I set up user-selected list segmentation?

“Segmentation” is the technique of using only part of your mailing list based on some value in the person’s subscription data. For example, if you have several newsletters based on various interests, you can provide a control such as a multi-checkbox where the user can select their areas of interest.

To make this work, you need to set up a merge field for this purpose. In Participants Database, create your field where the user can make their selection. Then go to your MailChimp account and set up a merge field for this information.

In the PDB MailChimp Integration settings, add your merge field to the list of merge fields. In the merge field setting, use the “name” of the field you created and the merge field name provided by MailChimp. This establishes the relationship between the field you created in Participants Database and the merge field in MailChimp. When the user signs up or edits their record, the value is sent to MailChimp to update the merge field value in the user’s subscription data.

When you want to send your newsletter, you can segment your list using the value in the merge field. The instructions for doing this are available from MailChimp.

When a signup is submitted, a new subscriber is not added to the MailChimp audience

To start with, here is a checklist of things to make sure your configuration is complete:

  • The merge field list must match what is defined for the list at MailChimp. You’ll see a warning about that on the settings page, that must be resolved for things to work
  • Email field in the signup form must be the same field as selected in the “Primary Email Address Field” setting in Participants Database
  • The “List Select Field” must be correctly configured: check the documentation for the details on that, pay close attention to the “options” setting
  • If your signup form should automatically add the person to the MailChimp list, you must set the default value of the List Select Field to “yes”

This is less likely than a configuration issue, but the data transfer to MailChimp can fail if there is something in your server configuration that is blocking the communication. For example, a security setting that blocks the request. If you do not manage your server, you will probably need the help of your hosting provider to address issues like this.

I'm getting a warning message about merge fields, how do I clear it?

First thing to check is the message will describe an issue with a specific merge field. Correct this in your settings, either at MailChimp or in the MailChimp Integration plugin settings.

Also make sure you have the correct audience selected in the MailChimp Integration settings, and that you’re looking at that same audience at MailChimp.

Be sure to dismiss the warning message before saving the settings, so if it comes back you know it pertains to the newly-saved settings.

If the warning comes back, first double-check the merge tags settings all around. If it looks good, but the messages keep coming back, then there are a couple of steps you can take to re-synchronize the settings.

First, check the merge fields in your MailChimp audience settings. Each tag will have two names: the default name and the user-defined name. The default name will be something like MERGE4. Try using that iname in the MailChimp Integration merge tags settings instead of the user-defined name. Clear the warning message and save the settings. This should force the settings to resync.

You can change it back to the user-defined merge tag name if you want. It works the same either way.

Support Discussions for MailChimp Integration

  • I just started using this plugin, and have a problem:

    I’ve connected via the API my PDB list to a blank MailChimp audience for testing, but not configured the Webhook for return data to PDB, which I don’t believe I need.

    If I change a field in one of the Merge List values, the record is added to the list, and subsequently updated as expected.

    If I change the email address in a PDB record, it always creates a new MailChimp record for the address, which comes in as Unsubscribed, regardless of the setting of the opt-in checkbox. I’d like it to be able to replace the old record with the new email address. Email is not set as the duplicate record check field, nor is the record_id exported to MailChimp, although I could do so if necessary.

    Mahalo!

    • Hi Bill,

      Thanks for letting me know about the problem, looks like I will need to issue an update to fix this…should be within a day or so.

  • Good Morning,

    We have just purchased this add on, however, we are having trouble with the webhook. The API is working fine, however, we need to use the web hook in order to get 2 way synchonisation.

    When using the webhook generated in PD, mailchimp returns an error:

    We couldn’t verify the URL is working. Please double check and try again. HTTP Code: 404
    Location in your app where Mailchimp should send list updates.

    How do I go about fixing this?

    Kind regards.

    • Try re-saving the permalinks in the WordPress settings. You can also try the webhook directly in a browser to see if it’s working. If it’s working you’ll see a message like: “No request details found.”

      • Thanks for the response.

        Unfortunately I have tried both of these things. The link itself returns a 404 page not found error.

        • Hmmm…well, I’m not sure what’s next, that always gets it going in my tests. Check obvious stuff like make sure the URL is 100% correct. Also possibly deactivate/reactivate the MailChimp plugin, then re-save the WordPress permalinks.

          It’s most likely something in your particular setup. Things that can possibly interfere with the webhook would be a caching plugin (or some kinds of server cache), or another plugin that alters redirects. Also, if you’re using “plain” permalinks, that can keep the permalink for the webhook from working.

  • Hello Roland,
    If i delete a member from my website database list, can the member also be deleted on the mailchimp list ?
    Because i’m trying to delete some but it’s not reflecting on mailchimp. Everything else is running smoothly.

    • It is supposed to “unsubscribe” the subscriber when the record is deleted, it does not actually delete them from the list at MailChimp.

      • On my list when i delete a record on the database from WP, the member stays Subscribed on Mailchimp…. i have setup the webhook and everything.
        Can you please help ?

        Also i have a list with 18000+ members, is it possible that when an admin deletes a record, the member get an email saying you have been deleted ?

        • I needed to update the Mailchimp Integration plugin to get the unsubscribe on record delete working. Thanks for bringing that to my attention.

          To send an email on delete, there is an add-on Email Expansion Kit that gives you a way to define emails that can be sent on many different events, and a record delete is one of them.

          If you want to build it yourself, you can use the pdb-list_admin_with_selected_delete action to trigger an email.

        • Oh ok. We will need to download the update or you are going to send it to us somehow ?

          Will this expansion kit, break something else on my emails or my wordpress ? I don’t have a problem installing it, if not.

        • The update will show up on your plugins page where you can update the MailChimp Integration plugin in the normal way.

          I don’t expect you’ll have any problems adding the Email Expansion Kit plugin, it’s been tested pretty thoroughly by now.

        • Hello again Roland,
          thank you for the quick update, but when i made it, now every member that sign in, is not pushed to mailchimp at all. It stopped working.

        • Please cancel what i previously said Roland, i enabled the log and saw it was one contact with the same email and because it was permanently deleted on Mailchimp he should re-subscribe again on his own.

          Just purchased the Email Expansion Kit.

          Thank you again

  • I have a Email List preference multi-select field in the database that I would then use in MailChimp as either a Tag or Merge Field to denote which emails the participant would like to receive. For instance we have Tuesday Night class where the multi-select option will but “Tuesday” in the field. If they also select the general email list it will place “General,Tuesday” in the field. I need to then transfer that information to MailChimp in such a way that when we create campaigns we can target only those people that have asked to receive the given email type. If I create the appropriate Tags in MailChimp is there a way to ask the integration to link my field in the Participants database to the Tags Field in MailChimp??

    • You need to set up a mail merge field both in the Pdb MailChimp plugin and also in your MailChimp setup. When a record is added or updated, the value chosen in the multiselect will be transferred to the subscriber info at MailChimp. It should be possible to segment your list using that value.

  • I’ve decided to tackle this again, so I set it up on a different web site, but I’m getting the same results–no sync with Mailchimp after added a record to PDB. Since I can force an error by misspelling a field name and then adding a record to Mailchimp, that pretty much proves that the webhook is working, so the problem must be on the PDB side. I’m checking with my host provider to see if they’re blocking anything, and they’ve responded that they don’t see anything. What else can we try?

    By the way, I can’t see your responses until I check this forum page, as this support forum is not linked to the WP forum. So, I can’t follow the thread there. Unless you want me to start posting there, too.

    • Hi Terry,

      I see what you mean about he problem being on the PDB side, but I just don’t see that problem here, so I don’t have a specific solution for your case.

      When you add or update a record, what do you see in the debugging log? Turn on plugin debugging, set it to “verbose.” Try clearing it before trying the update so you can see only what happens when you update the record. There should be a statement in the log for the communication to MailChimp.

      This is the only forum for supporting this add-on (other than direct email). WordPress does not allow me to use the public forum for the free plugin to support paid add-ons. If you want to get notified of the responses, make sure you are “subscribed” to the comment thread.

      –Roland

      • Turned on Verbose, nothing appears in the debug log when I update a record. I even misspelled one of the merge fields to see if you would show a warning, but nothing there, either. Are you sure this works in a multisite environment–could that be the problem? Also, can you tell me where I can place some debug code to show the value of some variables in you plugin code to try to troubleshoot this?

        And I see no way to subscribe to this thread, so I still can’t see when you respond. Can you tell me where to do that?

        • Do you see any messages on the MailChimp Integration setup page in the admin? For example, it should warn you if your merge field configuration does not match what you have configured at MailChimp.

          On the comment subscriptions, I realized that I had to enable that…I must have disabled it at some point and forgotten about it, but it’s set now.

        • Yes, it does give me a warning on the integration page, but not in the debug file. I hadn’t noticed that before.

        • OK…what message do you get?

        • Just a warning when I purposefully misspelled the merge field name. That’s on the admin pa,ge, still nothing in the debug file.

        • After updating a record, the debug log should show that the record was updated in addition to the data send to MailChimp. Are you seeing the record update in the log? That entry will start with something like:

          Participants_Db::process_form storing record: UPDATE wp_participants_database SET 

          In that entry will be all the data that was updated, make sure that there is a value for the list select field and also a valid email for the email field.

          If you want to send the log to me, first clear it, then update a record, then go back and copy the log and email it to me at support@xnau.com

          If the log is empty there are other problems that you will need to look in to.

        • The log is empty. The only way I’ve seen it show anything was after I purposefully entered an invalid merge field.

        • OK, if the log is empty, you’re not even getting an update to the record, so this is the real problem. Do you find that changes to the record are not successful?

        • No, the record change is made successfully on the website, but nothing on the Mailchimp side, and no notification that there’s a problem.

        • OK, if the record update is successful, then I suspect we’re not looking in the right log, because that will definitely show in the log.

          This what I am expecting you’ve done: In the Participants Database settings, under the advanced tab, turn plugin debugging to “verbose”. After you save the settings, there will be a menu item “debugging log” in the admin menu for the plugin. On that page is the log that you will clear then check by clicking “refresh” after updating your record. Is that what you’ve been doing?

        • Ah, tricky. It’s been hiding from me.
          Log file initiated at: January 6, 2020 3:59 am UTC
          [01/06/20 4:00am UTC]
          Trying to get property of non-object
          in /home/teebarkc/public_html/wp-content/plugins/wordpress-seo/frontend/schema/class-schema-utils.php on line 26
          [01/06/20 4:01am UTC]
          PDb_List_Admin::initialize
          list query: SELECT * FROM wp_participants_database p ORDER BY p.date_updated desc
          [01/06/20 4:01am UTC]
          missing php fileinfo extension
          [01/06/20 4:01am UTC]
          Participants_Db::process_form storing record: UPDATE wp_participants_database SET

          date_updated

          = NOW(),

          venue_name

          = ”,

          venue_type

          = ”,

          venue_date

          = NULL,

          host

          = ”,

          host_type

          = ”,

          group_size

          = NULL,

          last_name

          = ‘duck2’,

          first_name

          = ‘donald’,

          address

          = ”,

          city

          = ”,

          state

          = ”,

          zip

          = ”,

          phone

          = ”,

          email

          = ‘kaybark@teebark.com’,

          mailing_list

          = ‘Yes’,

          opt_in

          = ‘yes’,

          photo

          = ”,

          website

          = ”,

          interests

          = ”,

          approved

          = ‘no’,

          id

          = ’20’ WHERE id = 20
          [01/06/20 4:01am UTC]
          PDb_List_Admin::initialize
          list query: SELECT * FROM wp_participants…

        • OK, so the two things that must be in the updated data are the email address and the list select field. Make sure the MailChimp add-on is configured to use the “mailing_list” field as the list select field.

          There is also a critical error getting thrown by your seo plugin, that could be preventing the MailChimp data send.

        • Bingo, but it wasn’t either one of these. I noticed that in my opt-in field, the checkbox choices were Yes and No, but I had defaulted it to yes–all lower case. I changed the y to Y and now all is good. Evidently, the SEO error has nothing to do with it. Thanks for working with me on this–you were very patient with me, and it paid off. I knew a Barker wouldn’t let me down.

        • Glad to hear you got it working! And thanks for letting me know what the issue was, I didn’t know that a default value that was different from the defined options could cause a problem.

        • Another problem. Updates are working, but I can’t seem to add a record. I imported a csv file for a new person, but it didn’t add to mailchimp. I also tried it manually in admin. I’ve tried it with both opt_in yes, and no. Here’s the debug log–do you see anything that would cause this?
          ‘https://docs.google.com/document/d/17_2nAm-PJRKsMQoY5TjAjs9AUqSv4M3urMveI4hnPB8/edit?usp=sharing’

        • The two fields that must be present in order for the MailChimp to be updated are the email and list selector (opt-in) your import seems to be missing the opt in.

        • No go. I tried it with opt_in = Yes and No, but still no insert on Mailchimp.
          ‘https://docs.google.com/document/d/1PrjFEco44IGw8d6hBhKUEVsdKB_hlgek-1Jw6qSgT6M/edit?usp=sharing’

        • I don’t know, it looks good. I just tested adding new records with a CSV and it updated to MailChimp. Are your regular record updates getting sent to MailChimp? Is the data sent to MailChimp showing up in the log?

        • The correct data is in the log–I sent you a copy in my previous message. When I add on the Mailchimp side, I get this message:
          [01/09/20 7:42pm UTC]
          call_user_func_array() expects parameter 1 to be a valid callback, non-static method WP_Feed_Cache::create() should not be called statically
          in /home/teebarkc/public_html/wp-includes/SimplePie/Registry.php on line 215

        • OK, try disabling that plugin, it may be causing problems.

        • It’s not a plugin–it’s build into WordPress core. However, I tried “Update to Mailchimp” on the record that I inserted on my website yesterday, and it was added successfully to Mailchimp. Is that the way it’s supposed to work?

        • You can do it that way, but it is supposed to update when importing with a CSV also. I just tested this and it is working, but something is preventing that in your case apparently.

        • Since I can update but not insert, can you tell me where in your code I can place a display statement to try to debug this?

        • You can try it…the method is update_suscriber and it’s found in pdbmailchimp/service/MailChimp.php on line 76. It checks the submission for valid data then sends it to mailchimp. This method is used when updating or adding new records in all cases.

  • Hi, I haven’t purchased this add-on yet, but I have a question about its functionality. Can it be used to email a selected set of several hundred participants? In other words, can I query the list of participants, select everybody in the resulting subset, and send those people an email? I know I can already do this without the add-on, but I believe there is a limit to the number of recipients (around 100?). I’m wondering if the MailChimp integration can send a single email to a larger group. Thanks in advance!

    • The MailChimp Integration plugin keeps your MailChimp list in sync with Participants Database, that’s all it does.

      If you’re using MailChimp, all emailing will be handled by MailChimp, not Participants Database. You can segment your lists in MailChimp (send to a subset of your total list), you will just need to make sure that the data you want to use for the segmentation is included in the mail merge fields, which can be configured in Participants Database. If you want to send email to several hundred people, you need to use MailChimp for that.

      The limit you’re talking about pertains to the Email Expansion Kit add-on for Participants Database. This has nothing to do with MailChimp, it is a way to define emails for communicating with the people in your Participants Database. It is not recommended you use the Email Expansion Kit plugin for a newsletter unless your list is very small.

      I hope that clarifies things for you, let me know if you have more questions.

      • I just now noticed your response. Thank you!

        Specifically, what I would like to be able to do is query my participants in Participants Database to select a group of volunteers with certain qualifications that will be different every time depending on the opportunity (so I don’t believe I can pre-group them using MailChimp segments). Then I want to send an opportunity announcement to that selected set (which can number in the hundreds or even thousands). Is there a way to accomplish this besides exporting a custom mailing list from PDB and using that to email from MailChimp?

        • For what you’re talking about, really the only practical way to send hundreds or thousands of emails is using some kind of mass-email service. MailChimp is such a service, but there are many others, some of them are specifically for non-profits and might be a good choice for you. It’s also possible, given the needed expertise, to set up a mass email service on your own server. If you can do that, it is the most economical, but it does require a skilled IT person to set up.

          However you choose to do it, it will always be a matter of exporting the list of recipients from Participants Database, then importing that list to the mass email service.

        • Okay. Thank you for your insight!

  • I’ve installed the plugin, and double checked that everything is set up correctly, but I’m not getting a new Mailchimp record when I add it to PDB. The webhook is giving the correct response when I test it. What else can I check?

    • If you have “double-opt-in” enabled, the new record won’t show up at MailChimp until the user opts in. You can see the pending subcribers at MailChimp, I forgot exactly how, though.

      • I’ve tried it with that option on, and off, no luck. I looked in my opt-in field for the value ‘pending,’ but there’s nothing there, either.

        • Can we troubleshoot this through whatsapp? I can never tell when you’ve responded unless I stay on this page.

        • I’m not a whatsapp user…make sure you’re subscribed to the thread and you’ll get an email.

        • OK, need to make sure the configuration is correct. On the MailChimp Integration plugin settings, are you getting the “Subscription List” dropdown populated? Do you have your list select field defined? What is the configuration of that field?

        • Yes, here’s what I see:
          List Name ID Subscribers
          RAS Update List 487939a514 406
          Edit this list in Mailchimp
          Merge Fields
          Name Tag Type
          Email Address* EMAIL email
          Address_1 ADD1 text
          Address_2 ADD2 text
          ALCOR (AL) ALCOR text
          City CITY text
          Club_Code CLUB text
          First Name* FNAME text
          Last Name* LNAME text

        • The select field is called opt-in, and it’s a checkbox, default ‘yes.’

        • OK, turn plugin debugging on (Participants Database settings under the advanced tab) then test adding a new record.

        • Log file initiated at: October 25, 2019 9:44 pm UTC
          [10/25/19 9:44pm UTC]
          PDb_List_Admin::_process_general
          action: delete
          query: DELETE FROM wp_14_participants_database WHERE id IN ( ‘363’,’361′ )
          [10/25/19 9:44pm UTC]
          PDb_List_Admin::initialize
          list query: SELECT * FROM wp_14_participants_database p WHERE p.db_group LIKE “%Directory%” ORDER BY p.venue_date desc
          [10/25/19 9:45pm UTC]
          Participants_Db::process_form storing record: INSERT INTO wp_14_participants_database SET date_recorded = NOW(), date_updated = NOW(), db_group = ‘Directory’, venue_name = ”, venue_type = ”, venue_date = NULL, host = ”, host_type = ”, group_size = NULL, canceled = ”, first_name = ”, last_name = ”, address = ”, city = ”, state = ”, zip = ”, phone = ”, email = ”, opt_in = ‘No’, photo = ”, website = ”, interests = ”, approved = ‘no’, private_id = ‘CLB0E’, d_last_name = ‘Schmoe’, d_first_name = ‘Joe’, d_email = ‘abc@xyz.com’, d_status = ‘X’, d_home_phone = ‘8043798175’, d_alcor = ‘4404’, d_address = ‘11536 Smoketree Dr’
          [10/25/19 9:45pm UTC]
          PDb_List_Admin::initialize
          list query: SELECT * FROM wp_14_participants_database p WHERE p.db_group LIKE “%Directory%” ORDER BY p.venue_date desc

        • The opt_in field has a value of “no” so it won’t be added. Try updating the record with the opt in checked, or make a new one with the opt in checked.

        • Tried both, no change. When I try to post the log, I keep getting a message that it’s spam. How can I get the log to you? Can I send you log in info somehow?

        • OK, I’m sorry, I just realized that the plugin debugging log won’t log the data send, this is really only going to show up in the proper php error log.

          Back to your settings….in the MailChimp Integration settings, first check to make certain your API key is correct. You will know it is correct when the “Subscription List” setting below that is populated with the lists you defined at MailChimp. If that dropdown is not populated, then the API key is not correct or not working.

          Of course, make sure you’re checking the correct list at MailChimp. I’m sorry if you’ve done all this, but when things don’t work, the settings are the most likely reason.

          Also, another thought: what kind of hosting are you using? There is an outside chance that the communication is blocked by your server configuration. You will need to check with your hosting provider to delve into that.

        • Try this:
          ‘https://docs.google.com/document/d/1fNlVbOedwE9vOeKowr-lnhNTb-AKM6_t_BNUGoEJSgc/edit?usp=sharing’

        • Here are some screen shots–do you see anything wrong?
          ‘https://drive.google.com/file/d/1KyGUOlknNRkohwl0nqPxAziyfuFyv-4c/view?usp=sharing’
          ‘https://drive.google.com/file/d/1Kv97Nt5Kh6GOAOosRoYzS1n-QEuRngvd/view?usp=sharing’
          ‘https://drive.google.com/file/d/1KoZkpUlcltYvJXP-RuhK9Kd9m6KKEwi3/view?usp=sharing’
          ‘https://drive.google.com/file/d/1KqEyKB2mk0b1YFiaQOpqRlVlfTHpXne2/view?usp=sharing’
          ‘https://drive.google.com/file/d/1KtiTsCGnXutResO8dSWiuPEw4KeJclBv/view?usp=sharing’
          ‘https://drive.google.com/file/d/1KqM0ojSxtP11uhcOgNqJHsaXVOI-tR7x/view?usp=sharing’

        • I have not tested the effect of using another MailChimp plugin with it, so there may be some unanticipated effects there. I did not realize you were trying to do that. You could try testing it with the other plugin deactivated.

          The Participants Database MailChimp plugin maintains its own list of merge fields, so it will only sync the fields you have defined in the settings for that plugin.

          The settings look good, it looks like you are connected to MailChimp.

        • I deactivated the other plugin, no change. Where is the PDB list of merge fields? The documentation on your plugin page says:
          This should be a comma-separated list of connections between the PDB fieldname and the MailChimp merge field tag name. It is important that the fields listed here match the merge fields configured in your MailChimp list.

        • Is it possible for you to set up your php error log? I am at the end of suggestions I have for why it’s not working for you, and that is a good way to see if there are issues on the php end of things.

          The merge field setting for the PDB MailChimp plugin is a string that maps a PDB field to a MailChimp merge field. For example:

          first_name:FNAME,last_name:LNAME,city:CITY,country:COUNTRY

          This setting value maps the PDB field ‘first_name’ to the MailChimp merge field “FNAME” and each comma-separated pair after that defines another mapping with the PDB field on hte left of the colon, and the merge field on the right. The email field is mapped by default, no need to add that one (unless you are using a non-standard email field in PDB), this setting is for the purpose of adding any other merge fields you need.

        • I did find a php error, and I corrected the last name field, so now I get no errors, but I also don’t get a new record in Mailchimp.

          Here’s something else interesting though. Here’s the error before I fixed it. I was trying to add donald duck, and I thought it got added to Mailchimp because the audience count increased by 1 over yesterday. But, it turned out that sackett added himself to Mailchimp last night. Why did his name turn up in this error message?
          ‘https://drive.google.com/file/d/1UygpNchYRag4XLaFyIUn5dFUw_t9NT58/view?usp=sharing’

        • Looks like the name of the field is wrong, should be d_last_name. This will be in your merge fields setting.

        • Right, but I fixed it–reread my last update. No errors now, but no Mailchimp update, either.
          d_email:EMAIL,d_first_name:FNAME,d_last_name:LNAME

        • OK, good. Did you get your php error log set up? That would be the next step here, I don’t have any more suggestions, everything looks good from what I’ve seen.

        • Yes, I have php errors set up, but once I corrected the last name error, I get no errors. I tried adding from the Mailchimp side, and the add works on that side, but nothing happens on the PDB side, and no errors.

          I did notice though, that I can force an error to show up by deliberately coding the merge field wrong on the PDB side, then adding on the Mailchimp side. This is what I get. Do you have any troubleshooting ideas? Can you force an error in your plugin?
          ‘https://docs.google.com/document/d/19bs4Vgd5nMgWt5mOKDbrSXpYN-vDz5YhmYw-qNpfqwM/edit?usp=sharing’

  • I have two record formats, one in group Directory. Can I have Mailchimp sync to those records only? I don’t want to touch the non-Directory records.

    If my site is a multisite, can I have a Participant Database for each subdomain, or am I limited to one for the entire multisite?

    • There isn’t any way to selectively prevent syncing to the MailChimp list, however if the record does not have a valid email then it won’t try to update…so if your other record type doesn’t have data in the email field, it won’t be updated.

      On multisite, Participants Database has a separate set of db tables for each site: they are completely separate.

      • That’s not going to work for my database with 2 different record formats, as the fields from the 2 groups are 1 contiguous record, so I’d have to create the fields for the entire record in Mailchimp, right?

        But, since each subdomain has a separate PD, I can create a subdomain just for the Directory records, right? I won’t be able to access the new PD from the existing subdomain, but I don’t care about that.

        The plus to this approach, outside of the Mailchimp capability: if you set up a WP multisite, you can have as many PD’s as you want, one for each subdomain. As long as you don’t need to send data between subdomains.

        • You don’t need to add merge fields to the MailChimp configuration. I guess I don’t understand what you’re trying to do. It sounds like you have two different kinds of record in the same database…do both kinds of record represent a person, but only one type needs to be synced with MailChimp?

          I don’t want to confuse the conversation with issues relating to multisite. Just know that each site on a multisite setup is completely separate, with its own settings.

        • Yes, I have two totally different records, no relation to each other. Venues tracks our events, and Directory is our member database. Since the member db has the email, that’s what we want to sync with Mailchimp. So I have an ID field, then 10 or so Venue fields, followed by 15 or so Directory fields, in a PD group.

          For a Directory record, all the Venue fields are blank, and the ID=D, and for a Venue record, all the Directory fields are blank, ID=blank.

          I want to sync on the Directory fields, but not Venue fields. If I set up a sync, don’t I have to include both Venue and Directory fields in Mailchimp?

        • The only field that you really need fo MailChimp is email, and that is already set up. (First name and Last name are also set up by default) As I mentioned, you don’t need to set up any merge fields in MailChimp.

          There isn’t a way to prevent records from being synced to MailChimp if they have a valid email address, but it probably won’t be a problem because I’m guessing none of your venue records will have opted in to your mailing list.

        • Ok, I’ve got it now. The only required fields are email, first and last names. Merge fields are optional, so I can control what other fields get updated. I thought it would default to all Mailchimp fields. That fits my scenario perfectly.

          The fact that it won’t sync fields with no email is great, because Mailchimp doesn’t allow blank emails, and I can keep those record in my PDB.

          I’m buying the plugin.

  • Must be doing something wrong. Getting ” Please select a mailing list and save the settings before completing the plugin configuration.” warning.

    The mailing list is selected from Mailchimp
    The list select field is also selected.

    Which one is it referring to?

    • Once you set the MailChimp API key and save the settings, the available lists will show up in the “Subscription List” selector. Select your list there, then save the settings. The notice should go away and then you can complete the setup with the other settings.

    • I should also mention… It’s working, so I can ignore the warning…

      • So the “please select a mailing list” message won’t go away? Ill have to see what might be happening there.

  • Any chance there’s interest in adding “tags” support to send to Mailchimp?

    • Can you elaborate what you’re looking for? I don’t know what “tags” are in that context.

Got a Support Question?

Your email address will not be published. Required fields are marked *

Would you like to be notified of followup comments via e-mail? You can also subscribe without commenting.