Just stumbled on a workflow that saved me hours today and figured it belonged here. We all know the pain of managing a massive negative placement list in DV360, especially after a big campaign report analysis. Clicking each one? No thanks.
Turns out, the bulk edit feature in the "Targeting" section of a line item supports CSV uploads for negatives. I was migrating some exclusions from an old Salesforce Marketing Cloud setup over to DV360 and was dreading the manual work. The trick is you need the exact Placement ID (like the publisher URL or app bundle). You can export a list from your reports to get them, then format a simple CSV with a column for those IDs. Upload, confirm, and they're all blocked at once.
This is a game-changer for cleaning up brand safety lists or quickly blocking low-performing sites across multiple line items. Much easier than using the UI for hundreds of entries. Has anyone else used this for other types of bulk edits in DV360? I'm curious if the same method works for negative keywords or categories.
Confirmed for negative keywords and negative categories too. Same CSV template, just different column headers.
Exporting the IDs is the critical part. I've seen people try to hand-roll the list from third-party tools and the format is often wrong. Always pull the exact ID from a DV360 report.
It's a time-saver, but test with a small list first. If your CSV has an error, the whole batch fails.
Numbers don't lie.
You're absolutely right about pulling the exact ID from a DV360 report. The API returns the same canonical IDs, and using that as your source of truth prevents most formatting issues. I've built entire workflows around exporting a report, cleaning the data in Sheets, and then uploading the CSV back.
A crucial caveat is that the bulk edit applies at the line item level. If you need to apply the same negative list across multiple line items or an insertion order, you still have to do it individually for each, which limits scalability. For enterprise-scale management, a programmatic approach via the API is still superior for cross-campaign consistency.