The other day, I was talking to a lifecycle marketer friend at a large publicly traded company. We were talking about all the different nuances and complexities that lifecycle teams have to deal with behind the scenes, and I was curious what the worst part of her job was, and the answer was not something I expected.
Her biggest pain point was actually not something I expected, though. The biggest blocker for her was taking approved copy and adapting it for all of the different lifecycle channels like email, SMS, push, in-app, paid social, etc. She’d already been using AI to help with this process, but the process wasn’t super automated or scalable. She had to manually solve each use case one at a time—not a fun use of time.
The problem was simple: “How can I batch all of these lifecycle copywriting requirements using an LLM?” On paper, it seemed like a really easy use case to solve with an LLM, so that’s exactly what I did (though I quickly found out it wasn’t as easy as I thought).
In this blog post, I’ll show you how I created a custom GPT to build an app script you can run in Google Sheets to immediately adapt your approved campaign copy to any marketing channel.
Download the full ungated system prompt.
Scoping the use case
Adapting copy is really easy in an LLM; it just takes a bit of context, iteration, and fine-tuning. Doing it automatically at scale is more difficult, and the hard part is figuring out how to get the results into a Google Sheet so you can easily edit and manipulate them. I work in tech, but I don’t know how to write code or connect APIs, so I needed to find a workaround, especially given that most lifecycle marketers aren’t super technical either.
Before I did any of that, I just needed to scope the use case to figure out what output was actually needed. Luckily, my friend provided me with the exact specifications and requirements. All I had to do was figure out how to create a custom LLM that adapted to the user's specifications based on the context that was provided, because lifecycle marketing use cases vary widely. A D2C company like Netflix has drastically different goals and messaging than a B2B company like Stripe. You start to run into all these different variation problems because just for a single channel like email, you have five different copy elements to consider:
- Subject Line
- Preview Text
- Headline
- Body Copy
- CTA
- UTM Link
That pattern holds similar for other marketing channels (e.g., push, SMS, in-app, on-site, paid social, etc.) with some slight variation. Additionally, most marketing is built around emotional cues (e.g., FOMO, curiosity, excitement, etc.), which means you’re not just having to adapt messaging based on the specific marketing campaign and company; you’re also having to adapt messaging based on the channel and the emotional cue—and also copy length. For context, I ended up having around 100+ variations for just email. I knew that the solution had to be easy and simple to implement—that meant no APIs, no external tools, and no custom coding. The solution had to be something that you could do without any help or external resources.
The solution
What I thought would be a pretty straightforward solution was actually a bit more complex, but I ended up creating a custom GPT that can take all of your approved copy and instantly translate it to any marketing channel, all adapted to your specific campaign goal. I would try to explain my exact process for creating this, but the truth is, it was just a lot of iteration, fine-tuning, and troubleshooting to get the desired output. The framework I used is essentially the same for any use case though—and it has nothing to do with prompt chaining or templates.
The TL;DR is this custom GPT that lets you upload approved copy and campaign strategies; the GPT then takes in all that content and applies years of lifecycle marketing best practices to quickly adapt the messaging to any marketing channel using nine different emotional cues to generate three different copy variants (short, medium, long). Under the hood, there is a massive system prompt powering this.

Here’s how you can automatically adapt marketing copy and messaging to any channel in five minutes:
Step 1: Upload your approved copy or share a brief campaign summary. (Note: this is the most important step. The quality of your results is directly proportionate to the context that you provide.)

Step 2: Tell the LLM which marketing channel you want to generate copy for and wait for the Google app script to generate. (Note: it will take around 1-2 mins to generate the script because it’s dynamically populating according to your specific campaign requirements.)

Step 3: Open a new Google Sheet, select extensions, and click on Google App Scripts.

Step 4: Copy and paste the entire script that GPT generated into the App Script console and click the save icon and hit run. (Note: Be sure to clear out any text before you copy & paste your script.)

Step 5: Click run & then grant access to Google App Scripts.

Step 6: After you’ve authorized access, run the script. Once it’s finished running, you should see a message near the bottom that says “Execution completed.” (Note: This should only take a few seconds to run only take a few seconds to run.)

Step 7: Return to Google Sheets and review the results. Within the sheet, you should have a fully populated and dynamic copy tied to a specific emotional cue based on the context you shared.

Step 8: Repeat this same process by creating a new Google sheet for all of your other marketing channels and copy and paste the updated script for each respective channel.

Note: If you’re apprehensive about uploading data to this GPT, you can test out this entire process by simply asking a separate GPT to generate a made-up campaign brief. Here’s an example prompt I used to do exactly this in the testing phase: “Generate me a custom email campaign for Nike with approved messaging, a target audience, and a campaign goal.” Also, Hightouch is not collecting any type of data through this (nor can we); it’s just meant to be a helpful tool you can use to generate and adapt copy to your specific marketing channels. You can also just download the entire system prompt I used below and run it yourself in your own LLM instance.
Closing Thoughts
If you’re not using an LLM to adapt and experiment with your marketing copy, frankly, you’re missing a huge opportunity to drastically reduce approval cycle timelines. With this process, you can instantly take your approved copy and rework it for any channel within minutes. The hardest part is actually not adapting your marketing copy by channel; it’s experimenting and powering 1:1 experiences for your customers, and this is the exact problem we’re solving at Hightouch with AI Decisioning—helping marketers figure out what to send, what offer to include, when to send it, where to send it, etc.