For agencies

Ten clients. One composer.

Every client has its brand kit, every brand its campaigns. A brief lands under the right client and comes back as a full package with a review link.

Meta Google TikTok LinkedIn X

01What changes

The hours you get back.

Resizing eats the week

Every ratio is a placement in the matrix. One run, every size, smart-cropped and inside the safe zone.

Each client, its own keys

Provider keys and the image mode can be set per brand, so one client's budget never touches another's.

Approval by email chain

Send a review link. The client approves or comments per creative, no login.

02The flow

Three moves.

  1. Add the client from its site

    Identity, palette, logo and tone are pulled from the URL into a brand kit.

  2. Brief per campaign

    Product, offer, audience, platforms, framings. The creative count is known before it runs.

  3. Client book + review link

    A composed deliverable per client and a passcode-gated view.

Your placements
10 of 12 placements fit
Meta
Ship every placement before lunch
Page post square1:1
headline 33/60
Meta
Ship every placement before lunch
Page post vertical4:5
headline 33/60
Meta
Ship every placement before lunchLearn more
Feed square1:1
headline 33/40
Meta
Ship every placement before lunchLearn more
Feed vertical4:5
headline 33/40
Meta
Ship every placement before lunchLearn more
Story9:16
headline 33/40
Meta
Ship every placement before lunch
Carousel1:1
headline 33/40
Google
Ship every placement before lunch
Display wide1.91:1
headline 33/30 over
Google
Ship every placement before lunch
Display square1:1
headline 33/30 over
Google
Ship every placement before lunch
YouTube16:9
overlay hook 33/50
TikTok
Ship every placement before lunchLearn more
In-feed9:16
caption 33/100
X
Ship every placement before lunch
Feed16:9
post text 33/280
LinkedIn
Ship every placement before lunch
Single1.91:1
headline 33/70
safe zoneover the character limit: red, struck

03What AdsForge made for Halvard Cycles and Oona Botanicals

One brief each for Halvard Cycles and Oona Botanicals.

A fictional brand, a real run: the base image from kie.ai, the layout at every placement's true size inside the platform safe zones, three framings, copy within each field's limit.

Halvard Cycles

Urban e-bikes, sold direct. One of two client brands run by a fictional agency.

Client of Northline Studio, a fictional agencySora / DM Sanslayout: classic
01PositiveBeat the traffic, every day
  • Halvard Cycles ad for Meta Feed square (1:1), positive framing: "Beat the traffic, every day", call to action "Book a test ride"
  • Halvard Cycles ad for Meta Story / Reel (9:16), positive framing: "Beat the traffic, every day", call to action "Book a test ride"
  • Halvard Cycles ad for TikTok In-feed (9:16), positive framing: "The commute you actually want", call to action "Book a test ride"
  • Halvard Cycles ad for Google Responsive Display (landscape) (1.91:1), positive framing: "Beat the traffic, every day"
  • Halvard Cycles ad for X Feed image (16:9), positive framing: "The commute you actually want"
  • Halvard Cycles ad for Meta Carousel card (1:1), positive framing: "Beat the traffic, every day"
02NegativeStill paying for parking?
  • Halvard Cycles ad for Meta Feed square (1:1), negative framing: "Still paying for parking?", call to action "See the range"
  • Halvard Cycles ad for Meta Story / Reel (9:16), negative framing: "Still paying for parking?", call to action "See the range"
  • Halvard Cycles ad for TikTok In-feed (9:16), negative framing: "The second car is the expensive one", call to action "See the range"
  • Halvard Cycles ad for Google Responsive Display (landscape) (1.91:1), negative framing: "Still paying for parking?"
  • Halvard Cycles ad for X Feed image (16:9), negative framing: "The second car is the expensive one"
  • Halvard Cycles ad for Meta Carousel card (1:1), negative framing: "Still paying for parking?"
03InterrogativeWhat if the hill was flat?
  • Halvard Cycles ad for Meta Feed square (1:1), interrogative framing: "What if the hill was flat?", call to action "Try the assist"
  • Halvard Cycles ad for Meta Story / Reel (9:16), interrogative framing: "What if the hill was flat?", call to action "Try the assist"
  • Halvard Cycles ad for TikTok In-feed (9:16), interrogative framing: "What if the hill was flat?", call to action "Try the assist"
  • Halvard Cycles ad for Google Responsive Display (landscape) (1.91:1), interrogative framing: "What if the hill was flat?"
  • Halvard Cycles ad for X Feed image (16:9), interrogative framing: "What if the hill was flat?"
  • Halvard Cycles ad for Meta Carousel card (1:1), interrogative framing: "What if the hill was flat?"

Generated by AdsForge with kie.ai for a fictional demo brand. Not client work.

Oona Botanicals

Hand-poured candles and room sprays. The second client brand of the same fictional agency.

Client of Northline Studio, a fictional agencyCormorant Garamond / Jostlayout: centered
01PositiveLight it. Breathe out.
  • Oona Botanicals ad for Meta Feed vertical (4:5), positive framing: "Light it. Breathe out.", call to action "Shop the collection"
  • Oona Botanicals ad for Meta Story / Reel (9:16), positive framing: "Light it. Breathe out.", call to action "Shop the collection"
  • Oona Botanicals ad for Meta Feed square (1:1), positive framing: "Light it. Breathe out.", call to action "Shop the collection"
  • Oona Botanicals ad for Google Responsive Display (square) (1:1), positive framing: "Light it. Breathe out."
  • Oona Botanicals ad for TikTok In-feed (9:16), positive framing: "Light it. Breathe out.", call to action "Shop the collection"
02NegativeTired of scents that fade?
  • Oona Botanicals ad for Meta Feed vertical (4:5), negative framing: "Tired of scents that fade?", call to action "See the burn test"
  • Oona Botanicals ad for Meta Story / Reel (9:16), negative framing: "Tired of scents that fade?", call to action "See the burn test"
  • Oona Botanicals ad for Meta Feed square (1:1), negative framing: "Tired of scents that fade?", call to action "See the burn test"
  • Oona Botanicals ad for Google Responsive Display (square) (1:1), negative framing: "Tired of scents that fade?"
  • Oona Botanicals ad for TikTok In-feed (9:16), negative framing: "Scents that fade by Tuesday", call to action "See the burn test"
03InterrogativeWhat does calm smell like?
  • Oona Botanicals ad for Meta Feed vertical (4:5), interrogative framing: "What does calm smell like?", call to action "Find your blend"
  • Oona Botanicals ad for Meta Story / Reel (9:16), interrogative framing: "What does calm smell like?", call to action "Find your blend"
  • Oona Botanicals ad for Meta Feed square (1:1), interrogative framing: "What does calm smell like?", call to action "Find your blend"
  • Oona Botanicals ad for Google Responsive Display (square) (1:1), interrogative framing: "What does calm smell like?"
  • Oona Botanicals ad for TikTok In-feed (9:16), interrogative framing: "What does calm smell like?", call to action "Find your blend"

Generated by AdsForge with kie.ai for a fictional demo brand. Not client work.

04Why it fits

In the app today.

  • Multi-client, multi-brand from day one
  • Per-brand provider keys
  • Client books and review links
  • ZIP organized by platform / ratio / variant

08Your turn

Ship your next campaign before lunch.

Add a client, write the brief, pick the platforms. The package is on your desk in minutes.

No card. Draft-only integrations. Self-hosted option.