How to use ChatGPT to generate product descriptions at scale

We want more quality content for our websites, but it’s hard to produce enough. So how do we scale the content creation process, especially for ecommerce sites with lots of products?
If you had to pay a copywriter to produce thousands of product snippets from scratch, you’d probably be out of pocket pretty quickly.
What if you pay for 1,000 new product descriptions, but only half of those products are published a month later? Clearly, you need a quicker and cheaper approach. This is where ChatGPT can help you.
ChatGPT’s native web interface is really useful and saves a lot of time.
But if we have hundreds or thousands of product descriptions to create, there is a more efficient way to use ChatGPT without copying and pasting the prompts. That’s how.
Mass production of content fragments: scaling of output
If you have an e-commerce website, you may want to produce product snippets using data from a product information management (PIM) system.
Let’s say you have data on a spreadsheet.
We can use Excel formulas to concatenate (or join, using the « & » operator) data in rich prompts, ready for ChatGPT. For example:

Note that your formula may require one or more « IF » statements. This is because your data may have holes in some areas.
For example, some products may not have certain parameters (data within certain columns) specified. You need your formula to be flexible and you can always ask ChatGPT to help you write the formula.


Once your formula returns a prompt for each line (in this case, for each product), you can copy and paste some of the generated prompts into a word processor, even notepad.
It’s helpful to check some of them to make sure the text makes sense, even when some data elements are missing.

Once you’ve verified that your Excel formula (or Google Sheets) is generating the types of prompts you want, you can send some to ChatGPT (manually, using the web interface) to see if you like the results.
The snippets you generate will likely require human editorial oversight, even if you want the AI to do as much of the work as possible. That’s why we engaged in such a deep « prompt-crafting » process.
Satisfied with your initial inquiries and responses? Well, then it’s time to move on.
Get the daily newsletter search marketers rely on.
Retrieving new product content fragments from OpenAI
So, now you have a list of products (or other types of web pages) that you want to generate content for.
In this example, we’re going with a dummy sample of 100 products. You now have a list of all your products (separated by URLs, SKUs, or some other unique identifier).
These products also have rich prompts assigned that you have generated. But ChatGPT’s web UI is limited. So how can you send them all at once?
For that, you’ll need to familiarize yourself with basic scripting and handling API requests. You can create an OpenAI API account to access the ChatGPT web interface.
I’ve put together a basic Python script for my agency. While I can’t share the script, I can review some of the necessary process and documentation.
If you wanted to deploy this script later, it would be best to build it on marketing-accessible endpoints and technologies. Therefore, I first produced an Excel sheet:

The sheet simply provides an area to download items for processing (identified by a unique identifier in the ‘Item Name’ column, in this case the product name). In addition, prompts to be processed can also be entered here.
Another tab contains the parameter settings for the request. (You can know all this through the OpenAI documentation.)
Some of these settings optimize content creative allowance, odd word distribution, maximum token spend per request, and even content redundancy. This is also where the OpenAI API key is stored.
After clicking a certain button within the spreadsheet, the Python script starts automatically and handles the rest:

First, the script defines the URL of the request/endpoint. Next, the script sends the request headers and the request data.
Most of the parameters for the request header/data can be changed within the spreadsheet pictured above.
Finally, the response text is received by OpenAI and recorded within the « data dump », another separate spreadsheet.
I have three scripts for this distribution, although only one needs to be run. I also have two separate spreadsheets, both of which are required.
Once the script resolves all queries, all text snippets are saved here:

Looking at the output above, you might have some content uniqueness issues.
While all snippets begin with the exact phrase (« Introducing the [product name]”), the produced content becomes more diverse through the generated paragraphs. So, it’s not as bad as it sounds.
Additionally, there are things you can do to attempt to make each generated snippet even more unique, like adamantly asking the AI to generate unique content (although you have to be firm and repetitive enough in this regard to get anywhere).
You can also adjust the temperature and frequency parameters to adjust content creativity and avoid redundant language.
By weaving these technologies together (APIs of OpenAI, Excel, Python), we can quickly ascertain the text snippets generated for all input prompts.
From here, it’s up to you what you want to do with the freshly processed data.
I highly recommend moving it to a format your newsroom can understand.
We’ve somewhat mitigated a lot of this by creating very rich suggestions. However, you can never be sure until you check the output.
Notes on ChatGPT output
Assuming you’re happy working with ChatGPT, there’s a a few things to keep in mind:
- Let’s talk about the cost. It is difficult to provide a cost breakdown for using OpenAI’s ChatGPT GPT-4 model via their API. It’s not just the prompt’s input word count or output word count. The price revolves around the « think time » of the AI. More complex requests will use more tokens and cost more (even if the input/output word count is small).
- Our test batch of 100 prompts from sample data cost us just $1.74 to run and return. We generated a total of 22,482 words of content. 22,482 words of content for $1.74 sounds good, but there’s a lot more to consider.
- Due to AI’s propensity to infer, a human editorial process is still fundamentally needed (in our view).
- However, using this technology turns an expensive business of creating content from scratch into a much more cost-effective content editing business.
- The time of the data/AI specialist to quickly build and run scripts should also be factored in.
- In addition to inferring where data is missing, AI can also « creatively infer » things. In our example dataset, the AI decided to infer the existence of a (clothing) size guide within the content of the produced product. If there weren’t a size guide, it would look pretty silly.
- Always submit AI content through a human editorial review process for fact-checking, accuracy, and (most importantly) additional creative flair.
- You can further automate ChatGPT by connecting projects like Auto-GPT. These AI « agents » add more active processing and tasking power to ChatGPT. However, projects like this still require your OpenAI API key. And because of their infancy, they can chew through a lot of credits before they learn to do standard tasks.
Scale the content creation process with AI
AI can scale to produce different snippets of fit-for-purpose content with minimal intervention.
For long-form content, it’s probably even better to use the interface and repeat the responses from the AI.
The views expressed in this article are those of the guest author and not necessarily Search Engine Land. Staff writers are listed here.