Graphic Designer for Facebook and Instagram Ads (Static Ads, Ecommerce, Long Term)

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

TYPE OF WORK

Any

SALARY

1500/month

HOURS PER WEEK

40

DATE UPDATED

Sep 23, 2026

JOB OVERVIEW

We knit Van Gogh, Monet, Hokusai and Klimt into organic cotton socks, and we sell them across Europe with Facebook and Instagram ads. You would design those ads.

Look at what we make first: ---------- and ---------- /kunstsokken

You can also see every ad we are running right now in the Meta Ad Library. Search Kunstsokken there, or use this link:
----------

Full time, long term, fully remote. $1,500 to $2,000 a month depending on experience, plus $150 every single time an ad you designed reaches $5,000 in spend. No cap on that bonus.

Start date: Monday 6 October 2026, sooner if you are free.

ABOUT US

Kunstsokken is a Dutch brand. We license artworks from museums and turn them into socks. Van Gogh, Monet, Hokusai, Klimt, Delft Blue, plus direct collaborations with museums. We are based in the Netherlands. The founders are Tako and Jesse.

We sell online, and paid social is our main growth channel. Our statics have to look like they belong next to the art on the sock, not like a discount flyer.

WHAT YOU WILL DO

- Design static ads for Facebook and Instagram: feed 4:5, story 9:16, square 1:1.
- Build offer cards that state the offer in one glance.
- Design carousels where card one carries the hook and the rest keep people swiping.
- Take one winning concept and adapt it into many sizes and many variants without the composition falling apart.
- Design the occasional organic social post for Instagram and Facebook.

Volume: 15 to 20 finished statics a week, counting format adaptations and variants. Usually 4 to 6 concepts, each shipped across sizes.

HOW THE WEEK WORKS

Monday: you get a batch of concept blueprints. Each one has the avatar, the hook, the format, the offer, the landing page and reference ads.
During the week: you ask questions in writing and post first drafts.
Friday: you deliver the finished batch.
Monday: you get a written scorecard on last week's batch, with the actual ad performance data, plus the new blueprints.

The founder writes the briefs and reviews the work. This is an async role. You have to read a brief properly and ask the right question early instead of guessing.

That Monday scorecard is worth saying twice: you will find out which of your designs made money and which did not. Most design jobs never tell you.

WHAT YOU GET TO WORK WITH

- A photographer's shot library, with real product and lifestyle photography.
- A separate library of AI generated shots.
- An AI content producer on the team who generates new AI assets on request.
- A photo retoucher who handles product thumbnails, so that is not on your plate.
- A brand kit: Poppins and Libre Baskerville, our colours and logo files.
- We also have HTML ad templates that render statics at exact pixel sizes. They are there if you want them and ignorable if you do not. Work in Figma, Photoshop or whatever you work best in. We care about the output, not the tool.

WHO WE ARE LOOKING FOR

Required:
- 2 or more years designing static ads for paid social or ecommerce. Not logo packages. Not brochures.
- Photoshop and Figma at a professional level.
- You can show us real ads you designed that actually ran on Meta.
- Clean cutouts. No white halo, no chewed edges, real shadows.
- Strong typography. You understand hierarchy, and you know when to stop.
- You can take one concept and ship it in 4:5, 9:16 and 1:1 without it breaking.
- Good written English. You work from written briefs.
- You can start on 6 October 2026 and commit long term.

Nice to have:
- Light motion work, for example a static that also gets a subtle animated version.
- Experience designing the same layout in more than one language. Our ads run in Dutch, English, German and French, and German words are long.

PAY AND TERMS

- up to $1,500 per month (with possible room to grow). Where you land depends on your experience and your trial.
- $150 bonus, one time, for every ad you designed that reaches $5,000 in spend within 90 days of launch. No cap on how many ads can earn it.
- Paid monthly through Wise.
- Freelance contractor. You handle your own taxes.
- Paid trial task before we hire, $60, roughly 3 to 4 hours. We pay for it whether or not we hire you.
- You work on your own machine with your own software. If we ever require a specific paid tool, we pay for it.
- The work you deliver for us belongs to Kunstsokken.
- 30 day review after you start. After that, two weeks notice from either side.

HOW TO APPLY

Read this part carefully. Applications that skip a step are not reviewed.

1. Start your application with the word Zonnebloemen. First word, nothing before it.
2. Send a link to 5 to 8 static ads you designed yourself. Real ads that ran, not mockups on a dribbble background.
3. For 3 of them, write one line: what was the offer, and who was it aimed at.
4. Show us one concept you adapted into at least three formats, so we can see how you handle 4:5, 9:16 and 1:1.
5. Tell us which tools you use and how long you have used them.
6. Send a screenshot of a speed test and one line describing your computer.
7. Tell us your time zone and which hours you can overlap with 09:00 to 17:00 Central European Time. We need at least 4 hours of overlap.
8. Tell us your expected monthly rate and confirm you can start on 6 October 2026.
9. Look at our live ads in the Meta Ad Library, linked in the post. Pick one you would change, and tell us in a few sentences what you would do differently and why.
10. Send one ad you did NOT design that you think is excellent, and say in two sentences why it works.

We reply to every application that follows these steps. Shortlisted candidates get the paid trial task, then a 30 minute video call.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0021
Controller Execution Time ( Jobseekers / Job )  0.0165
Total Execution Time  0.0194
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,523,544 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Graphic-Designer-for-Facebook-and-Instagram-Ads-Static-Ads-Ecommerce-Long-Term-1736448
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0080 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1736448
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 979047
 LIMIT 1 
0.0012   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1736448
AND `misc`.`id` IS NULL 
0.0005   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-10-16',ej.date_added) duration_days, DATEDIFF('2026-10-16',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_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-10-16',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1736448' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1736448 
0.0022   UPDATE employer_jobs SET hit_counts = '***Sep-23-2026=835***Sep-24-2026=120***Sep-25-2026=66***Sep-26-2026=29***Sep-27-2026=19***Sep-28-2026=39***Sep-29-2026=22***Sep-30-2026=23***Oct-01-2026=19***Oct-02-2026=18***Oct-03-2026=10***Oct-04-2026=5***Oct-05-2026=20***Oct-06-2026=15***Oct-07-2026=15***Oct-08-2026=12***Oct-09-2026=12***Oct-10-2026=4***Oct-11-2026=2***Oct-12-2026=1***Oct-13-2026=2***Oct-14-2026=1***Oct-15-2026=1***Oct-16-2026=2' WHERE job_id= '1736448'  
0.0006   UPDATE employer_jobs SET monthly_hits = '***Sep-2026=1152***Oct-2026=139' WHERE job_id= '1736448'  
0.0007   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1736448' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1736448 
0.0007   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '979047'
AND `date_added` >= '2022-06-08' 
0.0003   select * from teasers 
0.0002   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)