CF7 and ActiveCampaign: Why the Account field is missing

You see the Account field in ActiveCampaign.

You try to map it in your Contact Form 7 (CF7) plugin.

It never shows up.

Waiting for a plugin update will not fix this. This is not a bug.

It happens because of how ActiveCampaign structures data.

In ActiveCampaign, a Contact and an Account are different things.

  • A Contact is a person. It has a name, email, and phone number.
  • An Account is a company. It has a website, industry, and revenue.

When you use a CF7 plugin, it talks to the Contacts API. It asks for a list of fields for a person.

The Account field is not a Contact field. It belongs to a different API endpoint. This is why your mapper cannot find it.

Most plugins only handle one step. They create a Contact and stop there.

To link a Contact to an Account, you need three steps:

  1. Create or update the Contact.
  2. Create the Account.
  3. Link the Contact ID to the Account ID.

This requires three separate API calls. Most basic plugins are not built for this.

Here are three ways to fix this:

  1. Use a Custom Field Create a custom field called "Company" on the Contact object in ActiveCampaign. Your plugin will see this field. You can map your company name to it. Note that this is just a text field. It is not a real Account record.

  2. Use ActiveCampaign Automations Map your form data to a Contact record first. Then, use an ActiveCampaign automation. The automation can look for the company name and link the Contact to an Account automatically. This keeps your setup simple.

  3. Use Direct API Integration Use a tool like Contact Form to API. This allows you to chain API calls. You can send the response from the first call into the next request.

If you are a developer, you can write a custom PHP function using the wp_remote_post function to handle these three steps manually.

Source: https://dev.to/rahul_sharma_15bd129bc69e/cf7-activecampaign-why-the-account-field-never-shows-in-your-field-mapper-ne4