Graphic Designer - Meta & TikTok Ad Statics

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

SALARY

USD 450 - 700 / month

HOURS PER WEEK

40

DATE UPDATED

Aug 20, 2026

JOB OVERVIEW

THIS IS A SPECIALIST ROLE. IF YOU CALL YOURSELF A GENERALIST, SKIP IT.

We are not looking for someone who does a bit of design, a bit of video,
a bit of social media management. We want one person who builds graphics
- ad statics and marketing assets - to a brief, at volume, better than
anyone else we can find.

One craft. Done properly.


ABOUT US

Zero Penny runs paid advertising for about 20 clients across iGaming,
finance, supplements, streaming, energy and telehealth. We have been
doing this for over a decade. Every client needs static ads, in their
own language, to a locked brief, on a fixed date.


WHAT THE WORK ACTUALLY IS

A brief lands in Asana. It contains:
- a blueprint showing where every element sits
- a copy sheet with the exact words
- a brand block with the exact hex codes and the font we must use
- a list of things that must never appear on the image

You build the 4:5 master at 1080x1350. You send it. Once it is approved,
you re-stack it to 9:16 at 1080x1920 - rebuilding the layout for the
taller canvas, not cropping it.

Then you do that five more times, and the batch ships in 24 hours.

Alongside client ads you will also design case studies, result posts and
testimonials for our own marketing.


THE PARTS PEOPLE FIND HARD

1. The copy is usually in a language you do not speak - German, Italian,
Turkish, Spanish, Arabic, Dutch. You set it exactly as written. You
do not "fix" it, even when it looks wrong to you.

2. The restrictions are specific and real. No "free". No broadcaster or
league names. No guarantees. No drawn CTA buttons. No URLs or QR
codes. Each client has their own list.

3. When a brief contradicts itself, the right move is to comment and
stop. Not guess. Not email the client.

4. When we ask you to remove something, we need exactly that removed and
nothing new added in its place. Revisions are part of every job here.


HOW WE MAKE THE IMAGES

We work at volume, and that is only possible because the photography in
our ads is AI-generated and then composited and polished by the designer.
Our team uses Higgsfield. If you use something else, that is fine.

What is never AI-generated: any text on the image, and logos. All type is
set by you in Figma over the base. AI cannot spell German, and a garbled
headline on a live client account is the most expensive mistake in this job.


WHAT THIS ROLE IS NOT

Not brand identity. Not video editing. Not creative strategy. Not landing
pages. Not social media management.

The layout, colours, typeface and words arrive locked. Your craft shows up
in execution - spacing, hierarchy, compositing, how the 9:16 reads on a
phone. If you need freedom over those decisions to enjoy your work, you
will be unhappy here and we would both rather find that out now.


WHAT YOU NEED

- A portfolio of ad statics and marketing assets built to spec. Not
posters, not logo collections, not brand books.
- Figma, fluently. Components and auto-layout, not flattened files.
- Photoshop and Illustrator.
- Comfort with AI image generation. We will teach our workflow. We cannot
teach the eye.
- A track record of hitting deadlines without being chased.


HOURS

Your working day must include at least 6 hours between 12:30pm and 9:30pm
Manila time. That is our team's working window.


HOW WE HIRE

1. We review your application and portfolio
2. A short screen-recorded walkthrough of one of your own build files
3. A PAID trial task - USD 30, paid in full before you start, yours
whether or not we hire you. It is two rounds and includes the revision
round, because that is how the real work runs.
4. A call


HOW TO APPLY - READ THIS PART CAREFULLY

Start your application with a link to ONE ad static you designed, shown
at BOTH 4:5 and 9:16.

If you cannot show the same concept in both sizes, this role is not a fit
and we will not reply.

Then tell us, in two sentences maximum:
- how many ad statics you personally designed in the last 12 months
- which AI image tool you use

Applications that do not start with the link will not be read.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0238
Total Execution Time  0.0251
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,518,552 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Graphic-Designer-Meta-TikTok-Ad-Statics-1713222
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0185 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1713222
 LIMIT 1 
0.0013   SELECT *
FROM `employers`
WHERE `employer_id` = 438136
 LIMIT 1 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1713222
AND `misc`.`idIS NULL 
0.0007   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-24',ej.date_added) duration_daysDATEDIFF('2026-08-24',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-08-24',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1713222' 
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1713222 
0.0017   UPDATE employer_jobs SET hit_counts '***Aug-20-2026=728***Aug-21-2026=72***Aug-22-2026=38***Aug-23-2026=2***Aug-24-2026=1' WHERE job_id'1713222'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Aug-2026=839' WHERE job_id'1713222'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1713222' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1713222 
0.0103   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '438136'
AND `date_added` >= '2022-06-08' 
0.0004   select from teasers 
0.0003   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)