[{"data":1,"prerenderedAt":88},["ShallowReactive",2],{"blog-post-en-spreadsheet-in-spreadsheet-out":3},{"post":4,"related":70,"locales":86},{"id":5,"title":6,"author":7,"body":8,"date":54,"description":55,"draft":56,"extension":57,"image":58,"meta":59,"navigation":60,"path":61,"readingMinutes":62,"seo":63,"stem":64,"tags":65,"updated":68,"__hash__":69},"blog_en\u002Fblog\u002Fspreadsheet-in-spreadsheet-out.md","Keep a contact ID in your verification file","MailOK",{"type":9,"value":10,"toc":48},"minimark",[11,15,18,21,24,29,32,35,39,42,45],[12,13,14],"p",{},"The hard part of checking a spreadsheet may come afterwards: getting the results back onto the right contacts.",[12,16,17],{},"Before exporting, add a stable contact ID or row identifier. Keep it through the verification workflow where the tool supports it. Don't rely on row position; filtering and sorting can change that.",[12,19,20],{},"An email address alone isn't always a unique key. The same address may appear on several records with different subscription preferences. A verification result doesn't resolve those differences.",[12,22,23],{},"For the file you upload, use the address and the minimum identifier needed to match the result. Keep invoice amounts, private notes and other unrelated fields in your own system.",[25,26,28],"h2",{"id":27},"make-the-export-plain","Make the export plain",[12,30,31],{},"Work from a copy. Use one clearly labelled email column and one contact per row. If formulas produce the addresses, calculate them and paste their values into the export. Leave the original workbook intact.",[12,33,34],{},"Check the tool's supported formats and workbook limitations before uploading. Don't assume extra sheets, formulas or formatting will survive processing.",[25,36,38],{"id":37},"check-the-return-trip","Check the return trip",[12,40,41],{},"Open a small result sample before importing the whole file. Confirm that identifiers still match, results attach to the intended addresses, and nothing is about to overwrite subscription preferences.",[12,43,44],{},"Keep unresolved results visible. Filtering everything down to “valid” can hide contacts that need review.",[12,46,47],{},"Finish by updating the sending system's verification and suppression fields. Your original contact record should still explain who the person is, what they requested, and why you will or won't email them.",{"title":49,"searchDepth":50,"depth":50,"links":51},"",2,[52,53],{"id":27,"depth":50,"text":28},{"id":37,"depth":50,"text":38},"2026-07-29","A simple export makes it easier to return each result to the right contact without exposing your whole CRM.",false,"md","\u002Fog\u002Fblog\u002Fen\u002Fspreadsheet-in-spreadsheet-out.png",{},true,"\u002Fblog\u002Fspreadsheet-in-spreadsheet-out",1,{"title":6,"description":55},"blog\u002Fspreadsheet-in-spreadsheet-out",[66,67],"Guides","List hygiene",null,"pd0exWD6zZ7EaNSRHWUxQjYgszn4buLHT9eZENkkHQk",[71,78],{"path":72,"title":73,"description":74,"date":75,"tags":76,"readingMinutes":62},"\u002Fblog\u002Fthe-api-now-belongs-to-your-account","Before you connect an email verification API","Plan for unresolved checks, failed requests and changing addresses before putting verification into production.","2026-06-23",[77,66],"API",{"path":79,"title":80,"description":81,"date":82,"tags":83,"readingMinutes":62},"\u002Fblog\u002Frebuilding-the-batch-engine","Why the last few addresses can take longer","A verification job can slow down near the end because some receiving servers need more time or give no clear answer.","2026-05-22",[84,85],"Verification","Technical",[87],"en",1790300926658]