[{"data":1,"prerenderedAt":255},["ShallowReactive",2],{"marketing-blog-blog\u002Fimporting-a-guest-list-that-actually-holds-up":3,"marketing-blog-related-blog\u002Fimporting-a-guest-list-that-actually-holds-up":235},{"id":4,"title":5,"author":6,"body":7,"category":213,"date":214,"description":215,"draft":216,"extension":217,"image":218,"imageAlt":219,"imageCredit":220,"imageCreditUrl":221,"meta":222,"navigation":223,"path":224,"readTime":225,"seo":226,"stem":227,"tags":228,"__hash__":234},"blog\u002Fblog\u002Fimporting-a-guest-list-that-actually-holds-up.md","Importing a guest list that actually holds up","The CheckInHub team",{"type":8,"value":9,"toc":203},"minimark",[10,14,17,22,25,44,47,51,54,143,146,152,156,159,168,172,175,183,187,190,193,197,200],[11,12,13],"p",{},"Almost every check-in problem at the door can be traced back to the guest list, and almost every guest list problem can be traced back to the import. The list comes from three different sources, gets merged in a hurry, and the mess only shows up when a guest is standing in front of you and their name is spelled two different ways across two columns. The fix is not heroics at the desk. It is doing the boring work of cleaning the list once, properly, before it ever reaches the door.",[11,15,16],{},"A guest list that holds up is one where every row is a real, complete, unique person, with the fields the system needs and nothing it does not. That sounds obvious. The reason it is worth writing down is that the typical exported list is none of those things.",[18,19,21],"h2",{"id":20},"where-guest-lists-go-wrong","Where guest lists go wrong",[11,23,24],{},"The data is rarely wrong in dramatic ways. It is wrong in small, quiet ways that each cost a few seconds at the door and add up to a slow desk. The usual suspects are familiar to anyone who has imported a list under time pressure.",[26,27,28,32,35,38,41],"ul",{},[29,30,31],"li",{},"Duplicate rows, because the same person registered twice or appeared on two source lists.",[29,33,34],{},"Names split awkwardly, with first and last names in one column for some rows and two for others.",[29,36,37],{},"Email addresses with trailing spaces, capital letters or obvious typos.",[29,39,40],{},"Empty rows, header rows repeated halfway down, and a stray total at the bottom.",[29,42,43],{},"Inconsistent formatting, where one export uses commas and another uses semicolons.",[11,45,46],{},"None of these stop an import outright. They just quietly degrade it, so the version you load is slightly wrong in ways you will not notice until the desk is busy.",[18,48,50],{"id":49},"clean-the-list-before-you-import-it","Clean the list before you import it",[11,52,53],{},"The single most valuable habit is to treat the CSV as a draft until you have checked it, not as a finished file because a system produced it. Open it, look at it, and run through a short set of checks every time.",[55,56,57,73],"table",{},[58,59,60],"thead",{},[61,62,63,67,70],"tr",{},[64,65,66],"th",{},"Check",[64,68,69],{},"What you are looking for",[64,71,72],{},"Why it matters at the door",[74,75,76,88,99,110,121,132],"tbody",{},[61,77,78,82,85],{},[79,80,81],"td",{},"Headers",[79,83,84],{},"One clean header row, sensible column names",[79,86,87],{},"The import maps columns correctly the first time",[61,89,90,93,96],{},[79,91,92],{},"Duplicates",[79,94,95],{},"Repeated names or emails",[79,97,98],{},"One person, one record, no confusion at check-in",[61,100,101,104,107],{},[79,102,103],{},"Required fields",[79,105,106],{},"Name and email present on every row",[79,108,109],{},"Nobody arrives as a blank or partial record",[61,111,112,115,118],{},[79,113,114],{},"Whitespace",[79,116,117],{},"Leading and trailing spaces in key fields",[79,119,120],{},"Searches match instead of silently failing",[61,122,123,126,129],{},[79,124,125],{},"Encoding",[79,127,128],{},"Accents and special characters intact",[79,130,131],{},"Names display correctly on badges and screens",[61,133,134,137,140],{},[79,135,136],{},"Stray rows",[79,138,139],{},"Totals, notes, blank lines, repeated headers",[79,141,142],{},"The count is the count, with nothing phantom in it",[11,144,145],{},"It takes ten minutes and it is the highest-value ten minutes in your whole setup. A list that passes these checks imports cleanly, searches reliably and produces correct badges, which is most of what a calm door needs.",[147,148,149],"blockquote",{},[11,150,151],{},"A clean import is a quiet door three hours later; a messy one is a queue you will not understand the cause of.",[18,153,155],{"id":154},"decide-what-you-actually-need-to-keep","Decide what you actually need to keep",[11,157,158],{},"There is a temptation to import everything, every column the source system happened to export, on the basis that more data is better. It is not. Every field you bring in is a field you are now responsible for under GDPR, and most of it does nothing at the door.",[11,160,161,162,167],{},"Keep what check-in needs: a name, a way to find the person, and the handful of fields that drive your day, such as ticket type, table number or session. Leave behind the marketing flags, the internal notes and the fields from a system that has nothing to do with this event. A leaner list is faster to work with and easier to defend if anyone ever asks what you hold and why. This is the same discipline behind ",[163,164,166],"a",{"href":165},"\u002Fblog\u002Fwhat-attendee-data-you-should-and-shouldnt-keep","what attendee data you should, and shouldn't, keep",", applied at the point of import rather than after the fact.",[18,169,171],{"id":170},"match-on-something-stable","Match on something stable",[11,173,174],{},"When you import, the system needs a way to recognise the same person across updates, so a second import does not create a duplicate or overwrite the wrong record. Match on something stable and unique. An email address is usually the best available key, as long as you have cleaned it. A name alone is not enough, because two guests will share one, and one guest will appear under two spellings.",[11,176,177,178,182],{},"Getting the match key right is what lets you import a list, send out passes, then import an updated list a week later without unpicking a mess. It is also what makes counting people in trustworthy, because each scan resolves to exactly one record. If the numbers have to mean anything, the underlying records have to be unique, which is the foundation of ",[163,179,181],{"href":180},"\u002Fblog\u002Fcounting-people-in-and-trusting-the-number","counting people in, and trusting the number",".",[18,184,186],{"id":185},"test-the-import-before-you-trust-it","Test the import before you trust it",[11,188,189],{},"A clean file is necessary but not sufficient. Before you rely on the list, import it and check a sample by hand. Pick a few names you know and search for them the way the desk will. Confirm the badge prints correctly. Confirm a guest with an accent in their name displays properly. Confirm a duplicate you expected to be merged was actually merged.",[11,191,192],{},"This test is the difference between finding a problem the night before, when you have time to fix it, and finding it at the door, when you do not. It takes a few minutes and it converts a list you hope is right into a list you know is right.",[18,194,196],{"id":195},"the-payoff-is-a-door-that-does-not-surprise-you","The payoff is a door that does not surprise you",[11,198,199],{},"The work of a good import is invisible by design. Nobody at the event will ever know you spent ten minutes cleaning a CSV. What they will notice is that the desk found their name immediately, the badge was correct, and the line moved. That is the whole return: a door that behaves exactly as expected, with no surprises that trace back to a row you never checked.",[11,201,202],{},"CheckInHub imports a CSV, maps your columns, flags duplicates and lets you test against real records before the day, so the list you walk in with is the list you can trust. Spend the ten minutes on the file. It is the cheapest insurance the front door has.",{"title":204,"searchDepth":205,"depth":205,"links":206},"",2,[207,208,209,210,211,212],{"id":20,"depth":205,"text":21},{"id":49,"depth":205,"text":50},{"id":154,"depth":205,"text":155},{"id":170,"depth":205,"text":171},{"id":185,"depth":205,"text":186},{"id":195,"depth":205,"text":196},"Registration & check-in","2025-12-05","A messy guest list import causes problems hours later at the door. Here is how to clean a CSV once so it holds up when it matters.",false,"md","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1760385737059-c65b583ec23e?ixlib=rb-4.1.0&w=1600&q=80&auto=format&fit=crop","A registration sign at a convention centre","Daniel Romero","https:\u002F\u002Funsplash.com\u002F@rmrdnl?utm_source=checkinhub&utm_medium=referral",{},true,"\u002Fblog\u002Fimporting-a-guest-list-that-actually-holds-up",7,{"title":5,"description":215},"blog\u002Fimporting-a-guest-list-that-actually-holds-up",[229,230,231,232,233],"registration","check-in","guest list","csv","data","ipQ0PQ7KRF6AiuDSkT_aQH9N2lbiY4LphQQ4BRUqpFY",[236,243,249],{"to":237,"title":238,"description":239,"date":240,"category":213,"image":241,"readTime":242},"\u002Fblog\u002Fhandling-the-door-rush-when-everyone-arrives-at-once","When everyone arrives at once: handling the door rush","Most events do not have a steady stream of arrivals. They have a wall of people in the first twenty minutes, then a trickle. Here is how to plan the front door around the peak instead of the average, so the rush never becomes a queue people remember.","2026-06-26","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1585599122425-251a97e9ecf4?ixlib=rb-4.1.0&w=1600&q=80&auto=format&fit=crop",6,{"to":244,"title":245,"description":246,"date":247,"category":213,"image":248,"readTime":242},"\u002Fblog\u002Frunning-a-calm-front-door-at-an-outdoor-event","Running a calm front door at an outdoor event","Sun on the screens, a phone signal that comes and goes, and a field for a venue. Outdoor events test the front door in ways a conference centre never does. Here is how to keep the gate calm anyway.","2026-06-23","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1760822400631-60ace12d6e87?ixlib=rb-4.1.0&w=1600&q=80&auto=format&fit=crop",{"to":250,"title":251,"description":252,"date":253,"category":213,"image":254,"readTime":242},"\u002Fblog\u002Ffrom-spreadsheet-to-check-in-making-the-switch","From spreadsheet to check-in: making the switch","Spreadsheets run a guest list right up until the door opens. Here is what breaks at scale, and how to move to real check-in without losing your data.","2026-05-29","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1781039229571-e61902de82c3?ixlib=rb-4.1.0&w=1600&q=80&auto=format&fit=crop",1782495582859]