Ad Reform changelog

Custom PowerPoint templates

changelog cover

You can now upload branded PowerPoint templates to use when generating presentations, saving you and your team even more time. In addition to dynamically inserting Ad Reform data (e.g. campaign.name) into your slides, we'll also reproduce any static content or placeholder slides included in your template in the final result.

Check it out and let us know what you think →

See who requested a given screenshot

We now show the email address of the person who requested each screenshot, making it easy to differentiate screenshot volume across your team and across import channels (e.g. web vs. API).

More improvements & fixes

  • Fixed Xandr sync error when syncing a Campaign with an IO on-demand with expired or invalid Xandr credentials

  • Fixed Xandr sync issue where call-to-action wasn't getting pulled in for native ads


Microsoft single sign-on (SSO)

changelog cover

Ad Reform now supports SSO using Microsoft Entra ID.

SSO is useful for teams that want additional controls and visibility across their organization, ensuring that only authorized people have access to your Ad Reform organization.

To get started with SSO, contact us →

More improvements & fixes

  • Added support for PadSquad custom ad creatives

  • Fixed bulk tagging for sites (tags weren't getting applied when doing so in bulk)

  • Fixed an issue where an organization's default special instructions weren't getting applied in certain cases

  • Updated Xandr sync to skip Line Items with no associated Insertion Orders

  • Fixed ad frame selection on the screenshots table (when trying to change an ad's frame from the screenshots list, it didn't work)

  • Fixed issue with URL placement when using Mac OS wrapper


Windows OS screenshots

changelog cover

When downloading screenshots with timestamps, you can now select Windows as the operating system (OS) for desktop screenshots. Each OS uses its default browser for screenshots: Mac uses Safari, Windows uses Edge.

Sync native ads from Xandr

As promised, we've updated our Xandr integration to sync native ads. If you've already connect your Xandr account, you'll start seeing native ads come through.

This also works when importing ads manually in the web UI. If you paste a Xandr preview URL, we'll import it as a banner ad or native ad automatically.

Fully automated GAM screenshots

We've added GAM support to Screenshot Workflows, enabling fully automated screenshots from GAM creatives. When a GAM workflow runs, we'll automatically find sites that match any custom key/value Line Item targeting ✨

Both the GAM integration and Screenshot Workflows are currently in beta. If you'd like to try them out, please let us know →

More improvements & fixes

  • Added "reconnect" option for the GAM integration

  • Updated how we handle invalid GAM credentials so users get notified that they need to reconnect their GAM account

  • Updated GAM sync to sync since the last sync run or up to 7 days ago, whichever is more recent


Xandr: Sync video ads and import tag sheets

changelog cover

Our Xandr integration now supports video ads, so we'll automatically pull in any video ads each day when we sync. We're also adding support for native ads, which should be out soon (keep an eye on the changelog).

If you haven't connected Xandr yet, or you just need to do periodic manual imports of Xandr ad data, we've added support for the Xandr tag sheet on our ad import page. Just drop a CSV exported from Xandr and your ads will get loaded right in.

Tip: You can attach a Xandr tag sheet (or any supported file format) to an email and send it to your Inbound Email address to import ads without even opening the app

GAM: Sync HTML5, video, and Campaign Manager 360 tags

Our GAM integration now supports a lot more ad formats, like HTML5, video, and CM 360. Check out our help article for the full list of supported formats.

More improvements & fixes

  • Added an in-app notification for users of the Xandr integration if the sync isn't working (due to e.g. invalid or expired credentials)

  • Fixed display of long URLs in the sites table (they're truncated now, with a tooltip and quicklinks to copy and open the URL)

  • Fixed browser page titles for Screenshot Workflows pages (which makes going forward/back in your browser a little easier)

  • Fixed a bug in site lists that caused errors when trying to add the same URL to a site list more than once (now it just works)

  • Fixed navigation breadcrumbs on Ads.txt Pro validation request pages

  • Updated ads.txt validator emails to send from [email protected]


Import ads from Adform

changelog cover

If you use Adform, you're about save even more time: you can now import ads in bulk from an Adform Excel tag sheet. Just click Adform on the ad import page, drop in your Excel file, and you're done.

Using a different ad platform you want us to support? Let us know →

More powerful site lists, for everyone

We've fully launched our new site lists feature, which we first started rolling out last November. Our new site lists let you:

For accounts that haven't yet tried the new site lists, we've added four site lists for you to get you started.

Try out the new site lists here →

Smarter device selection in Screenshot Workflows

When deciding which device to use for automated screenshots in a workflow, we now prioritize devices that are most relevant to an ad's dimensions. To learn more about how it works, check out our help article.

Want to fully automate your screenshots? Join the beta →

More improvements & fixes

  • Expanded GAM sync to support HTML5 and third-party tags (in addition to images)

  • Added links to related GAM pages for data synced via GAM Connector

  • Revamped the billing page to incorporate invoice history and easier payment method management

  • Added an icon to indicate where an ad was imported from (e.g. web, API, etc.)

  • Improved ad tag processing to handle malformed video URLs and newline characters

  • Fixed Xandr icon on integrations page


Google Ad Manager integration (beta)

changelog cover

Using our new Google Ad Manager (GAM) integration, you can automatically import ad data from GAM without lifting a finger. Just connect your Google account and we'll start syncing advertisers, orders, and creatives from GAM every day.

As we continue in the beta phase, we'll be adding GAM support in Screenshot Workflows as well, which will fully automate your screenshot efforts ✨

Want beta access to our GAM integration? Let us know →

Campaign and Client filtering in Screenshot Workflows

You can now target a workflow to specific campaigns or clients using our new filtering options. This gives you even more control over which screenshots are fully automated, letting you do things like:

  • Ensuring any client with vip in their name gets a more comprehensive set of screenshots (e.g. on multiple sites and devices)

  • Limiting a workflow to certain campaigns (e.g. matching certain patterns)

More improvements & fixes

  • Added default site lists

  • Improved ad capture to support more ad creatives that use the figure element

  • Fixed site list filters to de-dupe filters when creating or updating a dyamic site list

  • Fixed race condition on screenshot approval that caused inconsistency with screenshot image URLs

  • Fixed site list filtering to properly use or instead of and

  • Fixed campaign creation to ignore deleted campaigns when requiring a unique name for a new campaign

  • Fixed race condition that caused minor delays when storing certain screenshot images in a customer-defined S3 bucket


Add a site list when requesting screenshots

changelog cover

You can now add a site list directly from the screenshot request page. This makes it easy to paste in a list of sites for the campaign you're working on (e.g. a site list from your campaign reporting) without leaving the request flow.

Coming soon: Set a site list as the default for a campaign or client

Interested in trying out the new site lists? Let us know →

More improvements & fixes

  • Added a search field to the site list dropdown when creating/editing a screenshot workflow (this makes it way easier to find the list you want, especially if you have a lot of lists)

  • Added support for editing an existing site list (because of course)

  • Fixed a race condition when sending screenshot_set.approved webhooks that could cause inconsistency between the status of a screenshot and the presence of its image_url


Fully automated screenshots

changelog cover

Using our new Screenshot Workflows (now in beta), you can automatically generate screenshots without lifting a finger.

We're starting with ads imported from Xandr, but we'll be rolling out support for ads from other sources (like via API or inbound email) soon.

Just choose your devices, pick a site list, and sit back while the screenshots roll in!

Interested in trying the beta? Let us know →

Paste a site list

Building on our new site lists features, we've added support for pasting a list of URLs. In addition to being simpler than our powerful filter-based approach, it sets us up for the next phase of site lists:

  • Paste a site list when creating a campaign

  • Paste a site list when adding a client

Interested in trying out the new site lists? Let us know →

More improvements & fixes

  • Added search field to the site list dropdown on screenshot request form

  • Improved how we update dynamic site lists so the dropdown loads more quickly when requesting screenshots

  • Fixed a bug where clicking the placeholder in the site list dropdown caused 404 error

  • Fixed a bug where VAST tags that use mpeg video files weren't properly converted to mp4 files (for frame capture)


More powerful site lists (beta)

changelog cover

To make it even easier to select sites for screenshots, we're working on new site list features. The first of these, which is now in beta, gives you the ability to build dynamic site lists using tags.

For teams using tags heavily, this will make it easy to build site lists that have a variety of attributes. As new sites are added and tagged, they'll be pulled in to your dynamic site list automatically.

This new site list functionality also plays into our Screenshot Workflows project, which will let you set up rules to fully automate screenshot requests. More on that soon...

If you're interested in trying the new site list features, let us know →

In the meantime, here's what's up next for site list improvements:

  • Quickly paste a list, name it, and re-use it

  • Set site lists as default for Campaigns and Clients

More improvements & fixes

  • Added status field to screenshot data in the screenshot_set.approved webhook payload (see docs)

  • Added support for multiple levels of wrapped VAST tags (previously we only handled one level)

  • Fixed issue where certain screenshots were marked as no matching ad slot but should be marked as ad not captured

  • Fixed issue where some screenshots weren't displayed properly, despite being uploaded


Improved tag sheet email forwarding

changelog cover

When forwarding tag sheets to Ad Reform, you can now decide if you want us to auto-detect site URLs in your email and request screenshots automatically.

Before, we did this by default, which could be confusing if your email included links unrelated to screenshots (e.g. links in an email signature).

Get help with a screenshot in one click

Need assistance with a screenshot? Now you can start a conversation with us in just one click, straight from the screenshot table. Getting help has never been easier!

New automation backend

Over the past six months, we've been working tirelessly to modernize and improve our automation backend. The good news? It's officially live! While you might not notice immediate changes, this upgrade significantly speeds up ad and screenshot capture. Plus, it sets a strong foundation for future enhancements.

More improvements & fixes

  • We fixed a permissions issue that prevented some users from accessing the Integrations page. Now it's accessible to all teammates, not just organization admins.

  • We fixed an issue where, in certain circumstances, a screenshot image would get removed after a set was approved (this was a regression in our new automation backend)