Tapfiliate and Squarespace Scheduling (Acuity) integration
If you are a business owner, you must have heard about Affiliate marketing, a way to promote your business through 3rd party marketers and get them rewarded for every purchase they help make. There are countless tools to make affiliate ease of mind for you, and Tapfiliate is one of them. In this post, I will explain how I was helping a Squarespace website owner automate their Acuity Purchase with Tapfiliate
The problem
Acuity allows you to sell your business online. Unfortunately, there is no built-in affiliate for the tool, either from Acuity itself or Squarespace (Acuity has been merged with Squarespace Scheduling), so Tapfiliate comes to the rescue. For this particular project, a coach who sell their retreat plan on Acuity wanted to map the Taffiliate’s Commission Type to each Acuity purchase, which means different products are matched with different commission types (different off percentage, for example).
The integration process is quite similar to other Affiliate services
You need to place click tracking code to Squarespace Code Injection (link)
To signal the successful conversion ( eg: a purchase made ), you need a conversion page code
While the first step is handy by simple copy and pasting the given code, the next step with conversion tracking is a bit challenging
Acuity purchase did not land on Squarespace post order page, Acuity has its own infrastructure and is embedded into Squarespace as Iframe
Not all product has the same commission type, meaning in the same order, we need to cross-reference the commission of each product and fire a conversionMulti trigger
Solution
Tracking conversion on post order page
As described in the above diagram, Acuity block is placed inside an iframe, therefore the conversion tracking can not be called directly from Squarespace injection. Luckily for us, the Acuity frame has its own tracking code injection in the order page, so I make it emit an event to the parent window with the event name order.created, which is how I can grab the reference of the Acuity order via %id% merge tag.
Mapping commission types for products
The next challenge is to collect the Acuity products ( line items ) in the order and map it with the correct commission type on Tapfiliate. Since Squarespace did not allow users to use the platform backend, we need to find a place to trigger the API call and store the secret token to prevent it from being exposed to users in the browser, for this matter I use Autocode as a dedicated backend since it has generous free tier plan with 10,000 API calls per month.
So as soon as Acuity triggers the order.created event, the Autocode webhook is called to find the details of the line items and map its name with the Tapfililate commission type. The rest issue is now easier as it will need to trigger conversionMulti accordingly