Mail merge only new rows in Google Sheets, and skip done rows
Your sheet keeps growing. New students join. New orders come in. You want to merge the new rows, without sending the old ones again.
Many people solve this by hand. They make a "Sent" column, or they copy new rows to a fresh tab. Both are easy to get wrong. This guide shows how Fillmore keeps track for you.
How Fillmore knows a row is done
Every file Fillmore makes carries a private note in Drive. The note says which job and which row made it. Before each run, Fillmore looks up these notes.
So a row with a file is done. A row without one is new. Fillmore does not trust a "Sent" column that anyone could change by mistake.
Fillmore knows a row by what it holds, not by where it sits. So you can sort the sheet, insert rows or delete rows. Done rows stay done.
Step 1: Run the job once
Set up the job as in the mail merge guide. Press Make files.
The sheet gets a column called "Fillmore status". Each row says done, skipped or failed. A done row links to its file.
Step 2: Add rows, then run again
Add new rows at the bottom, or anywhere. Then press Make files again.
Fillmore makes files only for rows that have none. Rows from the first run show "Skipped: already made". With email on, only the new rows get an email.
What happens when you change a row
Fillmore only watches the columns the job uses. Those are:
- the columns your tags fill from;
- the email column;
- columns named in the file name, subject or email text.
Change a column the job does not use, and nothing happens. Add a notes column freely.
Change a column the job uses, and the row counts as changed. What happens next depends on the ID column.
Choose an ID column for rows that change
Open Edit job, then More options. Under ID column (optional), pick a column that never repeats. Good choices are a student number or an invoice number.
| Without an ID column | With an ID column |
|---|---|
| A changed row gets a new file. | A changed row's new file replaces the old one. |
| The old file stays in the folder. | The old file moves to Drive trash. |
With email on, a changed row sends a new email either way.
Each row needs its own ID. Fillmore checks this before it makes anything. It names any row with a blank or repeated ID.
Watch out for formulas that change by themselves
Some formulas give a new answer by themselves. Examples are TODAY(), NOW() and RAND(). A row that uses one looks changed on every run.
Fillmore warns you before the run. Without email, it notes that those rows get new files each time. With email on, it stops, so nobody gets the same email every day. Type plain values in those columns instead.
If you delete a file
Moved a file to Drive trash by hand? Then its row has no file. The next run makes it again. Use this to remake one file. With email on, that person gets the email again too.
To remove a whole run, press See results, then Undo this run. Only the latest run of a job can be undone. With email on, the next run emails those rows again.
Common questions
Do I need a "Sent" column?
No. The "Fillmore status" column shows each row's result. Fillmore keeps track in Drive. So the run is right even if that column is edited.
What if 2 rows are exactly the same?
Each row still gets its own file. 2 identical rows make 2 files.
Can new rows get a file by themselves?
Yes, if they come from a Google Form. See how to turn form answers into PDFs.
Do skipped rows use the daily limit?
No. A skipped row makes no file and sends no email. See the email limits for what counts.