Google Sheets > ActiveCampaign: How to not lose information if multiple entries for one email address

  • 17 February 2023
  • 9 replies

Userlevel 1

This is quite long-winded, so bear with me please!


I have a Google Sheet that it is being automatically fed into with parsed data (from forms being filled out on a 3rd party site)

eg.  Email  Name   Phone Number   Product   Size   Message


I then want to set up a Zap to bring that information into ActiveCampaign (I’ll set up custom fields for product, size, message etc). That’s simple enough.


However, there is a high chance that one person, with the same email address, will fill out 2 or more forms on the 3rd party site, with different product, size info, thereby creating two or more rows in the Google Sheet. 


As the Zap runs it will bring the first row into ActiveCampaign and create a contact with that information and custom fields. But, when a new row with the same email appears in the GSheet, the contact in ActiveCampaign will update with the new, updating custom fields, losing the data from the first row in the GSheet.


We want to keep all the information from every time the form is completed. Is there a way in Zapier to format the zap so that the information is combined in the custom field in ActiveCampaign - eg. “t-shirt, skirt” and “small, large”, instead of only keeping the latest data?


Any help appreciated!

This post has been closed for comments. Please create a new post if you need help or have a question about this topic.

9 replies

Userlevel 7
Badge +11

Hey @Kate4604, great question! 🙂

Instead of storing the product details in custom fields I wonder if it might work better to use a different (or set up a new) type of record in Salesforce to store the information in. A record type like Order for example. That way you could add each row of information from Google Sheets into a separate order record in Salesforce (which could be associated with the relevant Salesforce contact), so that the existing order info isn’t lost.

Do you think that approach could work here?

Userlevel 1

Hi Sam - thanks but we’re using ActiveCampaign, not Salesforce, and don’t think there is an Order or similar (I know there are Deals but our plan doesn’t include them).

Userlevel 7
Badge +11

My apologies @Kate4604! Not sure how I mixed up Saleforce and ActiveCampaign there, clearly I needed more caffeine! 😆

I know ActiveCampaign has a New Contact Note action. So could these product details be added to a new note? Asking as the contact notes wouldn’t be overwritten like custom fields would. Would that be a suitable alternative to using the custom field?
Alternatively, if it definitely needs to be in the custom field, you could get the Zap to re-add the existing info into the custom field so it’s not lost. To do that you would use a Find Contact (ActiveCampaign) action. Then in the custom field on the Create or Update Contact action, you’d select the relevant custom field from the Find Contact action. As well as selecting the relevant fields from Google Sheets. That way both the old and new information should be added into ActiveCampaign. 

Want to give one of those suggestions a try and let us know if that works?

Userlevel 1

Hi Sam - no worries, I definitely need my caffeine before my brain works!


Speaking of - your second option sounds like it would work great in theory but cannot get my head around it 😖 Are you able to explain in further detail?


Thanks so much.

Userlevel 7
Badge +11

Sure thing @Kate4604!

Ok, so you’d use a Find Contact action to search for the contact in ActiveCampaign using information from Google Sheets as the search value. For example if the Google Sheets spreadsheet has the customer’s email you’d use that to search by:

Then in your Create or Update Contact action, for your custom field specifically you’d select:

  1. The relevant custom field from the previous Find Contact action to select the existing custom field information.
  2. And you’d also select the relevant field in Google Sheets that contains the new product information that you wish to add.

That would look something like this:

That will mean that both the old and new information are added to the same field when the Zap runs. Hopefully that helps to clarify the process.

Please do keep us updated on how you’re getting on with this. Want to make sure you’re all set!

Userlevel 1

This post has been edited by a moderator to remove personal information. Please remember that this is a public forum and to remove any sensitive information prior to posting.

Thanks Sam - I think I’m close!


My issue is this part of the Find Contact action 


I’ve got it set to True (Yes), because I do want it to continue.  But when I tested it, it ONLY synced when the email was already in AC. If it wasn’t, it didn’t sync at all.

Does that mean I would have to use Paths (which I can’t do, as my client doesn’t have the right plan), so that it would somehow differentiate between the two scenarios, or is there something I’m missing?

Userlevel 7
Badge +11

Hi @Kate4604!

If I’m understanding correctly you’ve got a couple of things to solve for:

  1. If someone has never submitted the form, you want to create the contact (and add information into the custom field).
  2. If someone HAS submitted a form, and you find them in ActiveCampaign, you want to update the custom field with whatever was already there PLUS add the new information.

If I’ve got that right, Paths would indeed be one way to approach it. Otherwise, you can create multiple Zaps, each of which has a filter step in it.

Zap 1: The Contact Does Not Exist

Trigger: Google Sheets — New Row
Action: ActiveCampaign — Find Contact
Filter: Only continue if something is NOT found (choose a field like ID and the ‘does not exist’ option in the filter)
Action: ActiveCampaign — Create Contact

Zap 2: The Contact Does Exist

Trigger: Google Sheets — New Row
Action: ActiveCampaign — Find Contact
Filter: Only continue if something IS found (choose a field like ID and the ‘exists’ option in the filter)
Action: ActiveCampaign — Update Contact (use the custom option for the contact, select the ID of the one you found, and insert the data that’s already there as well as the new data you wish to add).

Hopefully that helps to explain and hasn’t made things more confusing! Please let us know if you need further clarification on anything :)

Userlevel 1

Thanks Nick! I had a breakthrough yesterday and figured this out with 2 zaps... appreciate the help though!

Userlevel 7
Badge +11

Awesome @Kate4604 :) Glad you figured that out! If you need help with anything else, you know where to find us 💪