A growth agency lives on launching ads, lots of them and fast. At Digital Ride every creative went through the same hands several times before reaching Meta, and every brand had its own rules.
Every ad, by hand, several times
The team prepared creatives in ClickUp. When they were ready, someone copied the data to a sheet, built the ad in Meta with that brand’s copy, format and settings, and uploaded the video or image. With several brands at once, that meant hours of repetitive work every week and configuration mistakes that were hard to spot.
What we built
- Creative Pipeline. When a task moves to “ready” in ClickUp, its data flows to that brand’s production sheet on its own.
- Uploading Ads. When the task moves to “upload”, the ad is created in Meta with its settings, as an image or a video. Large videos are uploaded in chunks, which is how Meta’s API accepts them.
- An ad modeling robot. It reads the ad library of the brands the team wants to follow, ranks the best performers and sends it to Slack.
- A monthly team performance report, built on the same data.
One brand, then three more
We started with one of the agency’s own brands and built it to be replicated. Then came three more brands, similar but with different Meta settings. Each has its two flows, eight in total.
What held up
Marketing automations break when the platform changes. The ad library robot held up through format changes and IP blocks, and the upload flows published real ads every day. When something failed, we fixed it as part of the monthly service.
The result
Digital Ride’s team stopped building ads by hand. They moved the task in ClickUp and the ad appeared in Meta, with their brand’s settings. For months, across four brands.

