Part-Time Retail Ad Production Designer + Merchandising QA

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

TYPE OF WORK

Part Time

SALARY

$15 to $45/hour depending on experience

HOURS PER WEEK

20

DATE UPDATED

Oct 15, 2026

JOB OVERVIEW

We are an off-price retailer based in Columbus, Ohio. Nineteen stores. We sell closeouts, never-outs, and in-and-outs, and we put out a print circular every week.

Remote. 15 to 20 hours a week, ongoing. $15 to $45 an hour depending on experience.

The job

You build our weekly print circular. Four pages, 40 plus products. Some weeks there are two.

You work from our ad file, a working Excel sheet our buyers fill in: item, retail price, comparison price, UPC, vendor, image link. You pull from it, lay out the ad, and catch what is wrong before it prints.

This is not a job where someone hands you perfect copy, and you make it pretty. The file will have mistakes. Missing comparison prices. A UPC with no item attached. An image link pasted into the vendor column. A buyer types "24 pack" and the photo shows 12. Finding those and asking about them is the job, not extra credit.

We should not have to remind you to check the ad file.

Software

- Adobe InDesign, required. This is where the circular is built.
- Adobe Photoshop, required, for product-image prep and cleanup.
- Adobe Illustrator, useful but not required.
- Strong Excel skills, required.

You are stepping into an existing production system. We are not rebuilding it in Canva.

What you have to be good at

Excel. Not formulas and pivot tables, though those help. You have to be comfortable living in a messy spreadsheet and spotting what does not belong.

English, written and spoken, at a level where you can question a buyer about a product claim and be understood the first time.

Proofreading your own work. Nobody checks behind you.

Production design. Clean grids, accurate prices, and type that follows brand standards. We have a brand book, and you follow it.

Organized files. Another designer should be able to open your work and pick up the next issue.

What makes this work

You take direction. We move fast, and the ad changes.

You overlap with U.S. Eastern business hours for part of your week. Not all of it, but enough that questions get answered the same day.

You want to be a partner. The person in this seat talks to me every week. I want someone who sees a messy file and solves it.

AI experience is a plus, not a requirement. We want to automate parts of this, and you would help build that.

Nice to have

Retail, grocery, or weekly circular experience.

Review the application materials first

View pages from a recent ad and a sample of the file you would be working from here:
----------

Look at both before you apply. If the file looks like a mess, that is the point.

To apply

Start your message with "I check the details."

Then answer three things:

1. A time a buyer or client gave you bad information. What did you do?
2. Something you fixed that nobody asked you to fix.
3. Looking at the sample file, what would you fix first?

Attach one ad or flyer you built. Print preferred.

Finalists do a paid test project: one real ad, paid at your rate.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0121
Total Execution Time  0.0135
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,501,640 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Part-Time-Retail-Ad-Production-Designer-Merchandising-QA-1749923
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0069 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1749923
 LIMIT 1 
0.0009   SELECT *
FROM `employers`
WHERE `employer_id` = 1010246
 LIMIT 1 
0.0009   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1749923
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-26',ej.date_added) duration_days, DATEDIFF('2026-10-26',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-26',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1749923' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1749923 
0.0010   UPDATE employer_jobs SET hit_counts = '***Oct-14-2026=6***Oct-15-2026=492***Oct-16-2026=47***Oct-17-2026=8***Oct-18-2026=10***Oct-19-2026=20***Oct-20-2026=15***Oct-21-2026=17***Oct-22-2026=9***Oct-23-2026=5***Oct-24-2026=3***Oct-26-2026=1' WHERE job_id= '1749923'  
0.0006   UPDATE employer_jobs SET monthly_hits = '***Oct-2026=633' WHERE job_id= '1749923'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1749923' 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` = 1749923 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '1010246'
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)