Squarespace Workflow: Connect Order to Mailchimp

Squarespace actually allows to connect with Mailchimp, but it only happens with Form/Newsletter submission only (to create new lead on Mailchimp list). What would you do to assign tags based on purchased products on lead item?

1. The problem

Let’s see…

  1. Get email notified when someone ordered

  2. Check email to get basic info: customer email, billing address, line item’s product name, look up for lead tag value (in case you need to trigger an automation via tag assigning)

  3. Manually place these pieces of information to Mailchimp

Repeat these steps for 1, 10 or thousands of times may become a pain, check how people asked about it around

2. How it solved?

When it comes to automation, Zapier is a common name, but sadly the connection between Squarespace and Zapier is limited (only available for form submission). So for the first version of the implementation, I tried to implement an email parser to read the order confirmation email in admin inbox and use these info to fire Mailchimp API to register lead and assign tag.

It turned out working well, but it was a bit silly (!?) because I overlooked the built-in API of Squarespace, which can be found here. Which the help of the API and a Google Spreadsheet, I can achieve the working solution smoothly. How a Google Sheet can help (?), you may asked yourself, so here’s why

  • It’s free (with quota limitation)

  • It provide scripting editor called Google Apps script, a handy tool that can get the automation job done, with Javascript syntax

  • Google Apps script can trigger Squarespace API call as well as Mailchimp API

  • A time driven trigger can be set up to check for lastest order made automatically

  • The Google Sheet can be used as logger to display the tagged order

3. Is it actually work?

So after enable Mailchimp and Squarespace API key, I tested it and as below

  1. An order made on my store

  2. Upon a certain period of time ( 5 minutes in this case ) the order is fetched from the api

  3. A JSON object is recieved and parsed into basic lead info

  4. The Mailchimp API endpoint is called to pass the info along and new lead with tag created/updated

Previous
Previous

Squarespace snippet: Responsive World Clock