Skip to content
PlacementGraph™
List versions

How do you keep version control on a site list?

Part of Programmatic media planning

The short answer

Version control for a site list means freezing each approved list as a named, dated copy that is never edited, logging each change between versions with its reason, recording which campaign ran on which version, and rolling back by issuing an earlier list as a new version. The live list in a buying platform is not the record.

Key takeaways

  • An approved version is frozen; any change, even one site, produces a new version number.
  • A name such as client, market, purpose, date and version number makes a file findable without opening it.
  • A campaign register links each line item or campaign to the exact list version it used, with upload and removal dates.
  • Rollback is a forward step: the old contents return as a new version, uploaded and then checked against the platform.

Why does a site list need version control at all?

Definition

List version
A frozen copy of a site list at one moment, with a name, a date and a number. Once approved it is read only; any change creates the next version.

Buying platforms hold the current list, not its history. Google Ads says of shared placement exclusion lists that "Any changes you make to your list will be reflected in all the accounts that the placement exclusion list is added to." (opens in a new tab) Lists on a scheduled upload behave the same way: Google says the list "automatically updates to reflect updates made on the external source file." (opens in a new tab) Both are useful features, and both mean the list you see today cannot prove what a campaign used three months ago.

How should list versions be named?

No ad platform or industry body sets a naming standard for site lists, so pick one pattern and use it across clients. A name should answer four questions without opening the file: whose list, for which market, for what purpose, and which revision. Write dates year first, in the YYYY-MM-DD form of the W3C date and time note (opens in a new tab), so names sort in date order in any folder.

A proposed naming pattern for site list versions (a house convention, not a platform rule)
PartWhat it holdsExample
ClientA short client codeflr
MarketCountry, region or metro setus-ny-upstate
PurposeBrief or flight the list servesvalentines-web
Approval dateThe day this version was approved, year first2027-01-18
VersionA two digit counter that never resets within one listv03
Full nameAll parts joinedflr-us-ny-upstate-valentines-web-2027-01-18-v03

Software releases use a similar rule. The Semantic Versioning (opens in a new tab) specification states: "Once a versioned package has been released, the contents of that version MUST NOT be modified." A site list does not need major, minor and patch numbers, but it benefits from the same rule. If v03 has been approved, a corrected list is v04, even when only one domain changed.

What should a list change log record?

Platforms log their own side of the story. Display & Video 360 event history (opens in a new tab) records the "time, date, description of the change, and user that made the change," exports to CSV and accepts notes. Google Ads change history (opens in a new tab) covers the last two years. Neither knows why the planner removed a site, which evidence prompted it, or which list version the change belongs to. That is the job of the list's own change log.

Fields in one change log entry

  • The version the change starts from and the version it creates.
  • Each site added or removed, as the exact domain string used in the export.
  • The reason for each site, in one line, with the date of the evidence behind it.
  • Who made the change and who approved the new version, with dates.
  • The campaigns or line items that will move to the new version, and when.
  • Whether the change came from planning, from the client, or from a platform side edit found later.

Keep the log next to the versions, in the same folder or workbook, and append to it rather than editing earlier rows. A difference between two versions should be readable in the log alone: twelve sites in v03, eleven in v04, one removed because its recent articles drifted off topic, evidence dated February 2.

How do I keep a previous version of an approved list?

Five steps to freeze an approved version

  1. Save the approved list under its version name. Use the naming pattern, with the approval date and the next version number.
  2. Save the upload files beside it. Keep the exact files sent to each platform, since a platform file can differ from the planning list in format and in what was left out.
  3. Keep the evidence with the version. Store the site reasons and check dates as they stood on approval day, so later updates do not overwrite them.
  4. Make the folder read only. Remove edit rights for the approved version, or move it into an archive that only adds files.
  5. Write the change log entry. Record what changed from the previous version and who approved it.

Saving the upload files matters as much as saving the list. A planning sheet might hold notes and grouped sites, while the platform file holds only domains in the platform's format. If an import dropped or altered a line, only the saved upload file shows what was actually sent.

How do I preserve the approved version used for each campaign?

Keep a campaign register: one row per campaign or line item, pointing at the list version it ran on and the dates it ran. When a list is used in several places, each placement gets its own row. In Display & Video 360, where lists can be held as channels (opens in a new tab), "custom groups of related websites or apps" of up to 65,000 entries each, the register should name the channel as well as the version loaded into it.

Columns for a campaign to list version register
ColumnExample entry
Campaign or line itemThe name and ID exactly as the platform shows them
Platform and containerThe platform, plus the channel or shared list name holding the sites
List versionflr-us-ny-upstate-valentines-web-2027-01-18-v03
Loaded onThe date the version was uploaded or applied
Replaced onThe date a later version took over, or blank while live
Proof of what ranA file downloaded from the platform after upload, saved with the date

The proof column closes the loop. Display & Video 360 lets a user "Download composite list" (opens in a new tab) of the apps, URLs, collections and channels included for targeting. Saving that download on the day a version goes live gives the register a platform side copy to compare with the planning version.

How do you roll back to an earlier list?

Treat a rollback as a new version with old contents, never as a return to an old number. If v05 caused a problem and v04 was sound, the fix is v06, whose sites match v04 and whose log entry says so. That keeps the register honest: the campaign ran on v04, then v05, then v06, in that order.

A rollback, step by step
A rollback, step by stepThe earlier contents come back under a new number, and the platform copy is checked before the rollback is marked done. 1. Pick the sound version: The last version without the problem. 2. Copy as new version: Same sites, next number, new log entry. 3. Upload: Replace the live list in each platform. 4. Download and compare: Platform copy matches the version. 5. Update the register: Dates for the old and new versions01Pick thesound versionThe last versionwithout theproblem02Copy as newversionSame sites, nextnumber, new logentry03UploadReplace the livelist in eachplatform04Download andcomparePlatform copymatches theversion05Update theregisterDates for the oldand new versions
A rollback, step by stepThe earlier contents come back under a new number, and the platform copy is checked before the rollback is marked done. 1. Pick the sound version: The last version without the problem. 2. Copy as new version: Same sites, next number, new log entry. 3. Upload: Replace the live list in each platform. 4. Download and compare: Platform copy matches the version. 5. Update the register: Dates for the old and new versions01Pick the sound versionThe last version without theproblem02Copy as new versionSame sites, next number, new logentry03UploadReplace the live list in eachplatform04Download and comparePlatform copy matches theversion05Update the registerDates for the old and newversions
The earlier contents come back under a new number, and the platform copy is checked before the rollback is marked done.

Platform undo buttons help with recent mistakes but are not a rollback plan. Google Ads says "You can undo most types of changes that were made in the last 30 days," and an undo can fail if a related item was deleted after the change or another user already reversed it. A version kept outside the platform has no such window.

How does PlacementGraph keep track of list versions?

What does version control look like across one client's flights?

Fictional example. The brand and sites are invented; no results or performance figures are implied.

A florist delivery group in Buffalo, Rochester and Syracuse

An agency runs web display for an unnamed florist delivery group in upstate New York, with flights for Valentine's Day and Mother's Day. The first approved list, v01, holds wedding, home and local lifestyle sites across the three metros.

Before Valentine's Day the client asks to add two Rochester food and dining sites. The planner saves v02 with both sites, their reasons and a log entry naming the client request. The register shows the Valentine's line items loaded v02 on January 20, and a composite list download from that day sits beside it.

In March a Syracuse site begins running syndicated filler. The planner removes it in v03 for the Mother's Day flight and logs the evidence date. The client then asks to see the Valentine's list again for a recap: the team opens v02 and its upload file, unchanged, rather than the live list. When a later edit in v04 removes a site the client wanted kept, the planner issues v05 with v03's sites and notes the rollback in the log.

Frequently asked questions

Does a one site edit really need a new version?

Yes, once the list has been approved. A one site edit changes what the campaign can buy, and if it is made in place, the approved record no longer matches what ran. Before approval, drafts can change freely; the version number is assigned when the list is signed off.

Where should site list versions be stored?

In shared storage the planning team controls and the client relationship can outlast, such as a project folder with read only permissions for approved versions. Avoid keeping the only copy inside a buying platform or in one person's email, where it can be overwritten or lost when someone changes roles.

Can two campaigns run on the same list version?

Yes, and the register should show both. If one campaign later needs a change, create a new version for it and update only that campaign's row. The other campaign stays on the earlier version until someone decides to move it, which keeps their histories separate.

What if a buyer edited the list directly in the platform?

Record it as a change found after the fact. Download the platform list, compare it with the approved version, and either issue a new version that matches what is live, with the reason, or restore the approved contents. Then note the date the platform and the plan diverged.

Sources

  1. Use placement exclusion lists across your accounts (opens in a new tab)Google Ads Help
  2. Exclude specific webpages and videos (opens in a new tab)Google Ads Help
  3. Review your account history (opens in a new tab)Google Ads Help
  4. Event history (opens in a new tab)Google, Display & Video 360 Help
  5. About channels (opens in a new tab)Google, Display & Video 360 Help
  6. App, channel, and website targeting (opens in a new tab)Google, Display & Video 360 Help
  7. Date and Time Formats (W3C Note) (opens in a new tab)W3C
  8. Semantic Versioning 2.0.0 (opens in a new tab)semver.org

Researched and written by PlacementGraph Research. Read how we research, source and update these pages. Corrections: diana@placementgraph.com.

HOW AGENCIES WORK WITH US

From your first brief.
To your next campaign.

Share a brief in plain language. Get contextual websites and YouTube channels that fit it, with the evidence behind every pick and a deal ready for your usual buying platform.

  1. 01

    Share your brief

    The campaign in plain language.

  2. 02

    Get your shortlist

    The strongest contextual sites and channels, with the evidence behind each.

  3. 03

    We build the deal

    Your shortlist becomes a curated deal through our exchange partners.

  4. 04

    Activate and grow

    Buy in your usual platform. Agencies earn benefits as their investment grows.

LET’S WORK TOGETHER

Your next campaign starts here.

Your details will only be used to respond to your enquiry.

Prefer email? diana@placementgraph.com

YOUR PRIVACY

You choose whether to allow optional analytics. You can use the whole website either way.

Change or withdraw consent at any time using “Cookie preferences” in the footer. Turning analytics off stops future collection and removes this site’s analytics cookies; it does not erase information already sent. The page may refresh to apply withdrawal.