An Automated Amazon Affiliate Article Apparatus | YMH No. 72
Published 4 days ago • 5 min read
An Automated Amazon Affiliate Article Apparatus
In what might turn out to be a complete waste of time, I cobbled together a Chrome extension, Zapier, and ChatGPT to build an automated Amazon affiliate article generator.
My mission seemed simple enough. I wanted to earn some Amazon affiliate revenue with one of my content sites, "Science Fiction Classics."
Paste the title and audience description into a Zapier table.
Use a Chrome extension to add products.
Launch the Zap.
Edit the affiliate article.
Manually add images.
Publish.
An Affiliate Marketing Plan
The Science Fiction Classics website is a content and commerce operation. It uses science-fiction-related articles, like classic movie reviews, to drive folks to its print-on-demand t-shirt shop.
Nonetheless, I noticed recently that an affiliate article —"21 Amazon Gift Ideas for Your Favorite Star Trek Fan"— was getting a fair bit of search traffic. Although it had not generated any affiliate payouts, I thought this might be a good secondary revenue stream.
There were, however, a couple of problems.
Amazon product listicles are time-consuming to produce.
Amazon has a very nice API that would make fetching product information easy. But my site doesn't yet qualify to use it.
My solution was to create a Zapier automation that addresses both problems, effectively reducing the time it takes to create the affiliate article and making it possible to "fetch" Amazon product information despite being unable to use the API.
Here is what I built.
Affiliate Article Setup
I used a Zapier table to store information about the forthcoming Amazon affiliate article. The table includes seven columns.
A column for the submit button to trigger the article generation.
An ID column used to identify the row in the table when Amazon products are added.
A field for the article title that I add —or eventually, I will have my assistant add.
Another column stores the name of a writing persona, which I borrowed from another article generation Zap.
There is a column for the link to the product list that will be filled in automatically.
The product list ID field stores the Google Document ID for the list of Amazon products.
At this step, the human "operator" creates a table row, assigns an ID, pastes in the proposed affiliate article title, and pastes in a description of the audience, i.e., who would want to buy the sorts of Amazon items the article lists.
There are a couple of things to note about this step.
The row ID can be any unique number. But it should be as small as possible because the operator will need to type it a lot.
The article title can be anything, but I used Claude AI or ChatGPT to generate it based on keyword phrases from SEMRush.
For the description, I asked Perplexity to describe the audience.
Add Amazon Products
I want to reiterate that the best way to get Amazon product data would be to use its API.
However, the Science Fiction Classics website was not yet eligible. I could have created Amazon affiliate articles manually until I had enough cred, if you will, to employ the API, but I was not that patient.
The second thing you need to know is that I could not use Zapier's web parser to "scrape" Amazon product detail pages. I tried it, but Amazon is using bot detection and kept responding with CAPTCHA puzzles — which, by the way, stands for Completely Automated Public Turing test to tell Computers and Humans Apart.
My solution was to create a Chrome extension. This step is much easier than it sounds.
First, it is true that I can and do write code (I have software engineering experience), and I did rewrite parts of the code multiple times during testing. However, I used ChatGPT to write the basics. I won't say anyone could do it, but anyone with basic Javascript and HTML skills could pull this off.
Second, I am running the Chrome extension in developer mode, so that the source is stored locally. Thus, I do not have to deploy the extension, which, again, makes it simpler than one might think.
To use the extension, the human operator navigates to any Amazon product detail page in Chrome or a Chrome-based browser.
Next, open the extension, enter the row ID from the Zapier table, and submit.
Initially, I planned to store the list of products directly in the Zapier table. This approach didn't work. The field had character limits. I could have set up a database, but in the end, I stored the product information as a text string in a Google Doc.
The operator can add any number of products. I have tested up to fifty.
Generate the Article
Once all of the Amazon products are selected, it is time to generate the article. Clicking the "Submit" button on the table starts the process.
The Zapier automation includes 15 discrete tasks, five of which are in a loop that runs once for each product. So, this is an "expensive" automation since an affiliate article with 20 products would require 110 tasks.
We won't cover every individual step, but we can think about the automation in phases.
Preparation
First, the automation gathers and prepares some information. The automation gets a writing persona, which is simply a set of style and tone guidelines we will pass to ChatGPT.
Next, it gets the list of products and transforms the string into JSON (Javascript Object Notation) which will make it easy to loop over later.
Initial Generation
Using the product JSON, the audience description from Perplexity, and the writing persona, we ask ChatGPT to generate a three-paragraph introduction, five alternative titles, and a meta description.
The output is added to a new Google Doc.
Product Descriptions
Using the product JSON as a source, ChatGPT produces a new product title, a product description, and the affiliate URL for each item.
Each product is appended to the Google Document with the article introduction.
Notification
To end a loop in Zapier, we use a filter that looks for, well, the end of the loop.
Believe it or not, this little trick —using the filter to end the loop in Zapier— is far from common knowledge and not well documented, in my opinion.
Once the loop ends, a Slack notification is set to my assistant, with a link to the Google Document with the draft version of the affiliate article.
Editing
Finally, a human operator —meaning me or my assistant— will read and edit the copy, collect product images, and publish the post.
Time Saved
In total, the automation reduced the amount of time needed to create an Amazon affiliate article by two-thirds.
Only time will tell if these articles will create cash flow, but with three automatic articles deployed, the site had generated 48 affiliate clicks in four days.