Programmatic ad campaigns use complex audience targeting, but are not as effective without highly relevant content. Relevant content can require hundred or even thousands of variations. Usually this is done with a dynamic ad template served from a rich-media platform, but for this project that was not an option.
Most rich-media platforms offer semi-automated workflows that enable the mass-creation of ads. There was no reason that the same thing couldn't be done locally, without the need for platform specific code, by scripting Google Sheets to manage all the image, copy, style, and animation content. A CSV file exported from Google Sheets would be used to parse rows into individual JSON files (one for each ad). The new JSON files would trigger the creation of hundreds of ads by adding the appropriate content to custom template files. I also created a system for modularizing lightweight animations created with After Effects + Lottie.