Quick Answer
What did Weddingkart do for the Shweta and Sai wedding?
The event manager came in with a multi-tab Excel sheet, four people's edits, and the words 'I can't figure this out.' We sat on one call: rearranged the sheet, used Gemini to write formulas for clean derived columns, and imported those columns as guest groups inside the wedding. From that point on she could compose any WhatsApp announcement as a one-line boolean across groups - for example, sangeet reminders only to people who had not already declined. She left an unprompted App Store review the same week and pre-booked her next wedding (November 2027).
Last updated:
Case Study: From a Messy Wedding Spreadsheet to Targeted Guest Groups
One event manager. One spreadsheet that had been edited by four people for months. One working session. One App Store review at the end of it.
The first WhatsApp we got from the event manager running Shweta and Sai's wedding was three short lines. She was overwhelmed, the guest list was a mess, and she could not figure out how to send the right message to the right people without spamming everyone. By the time we hung up an hour later, her sheet was clean, her groups were imported, and she was composing event-specific WhatsApps with one-line filters like Sangeet AND NOT RSVP'd no.
This is a write-up of that hour - what the spreadsheet looked like when she opened it, what we changed, and the one feature she said sold her on the product: AND / OR filters between guest groups.

What she walked in with
A typical wedding-planner spreadsheet, which is to say not a database. Multiple tabs - bride-side, groom-side, mehendi-only, sangeet-only, reception-only, out-of-towners, plus-ones, vendors. The same person showed up in three tabs with three slightly different phone numbers.
The columns were free text. “Side” was sometimes “B”, sometimes “Bride”, sometimes “Bride's family”, and sometimes blank. One column had “haldi-yes / sangeet-yes / reception-no” all crammed into a single cell. Four different people had touched the file over several months - bride, groom's mother, planner, planner's assistant - each with their own formatting habits.
Her honest words on the call were: “I can't figure this out. Can you just take this and do it?” The temptation, frankly, is to import the cleanest tab and move on. But that planner would still be stuck the next time she had a new sheet, and she would never feel ownership over the system. So we did it with her, not for her.

What we actually did, in order
1. Rearranged the sheet
Before touching formulas, we collapsed the multiple tabs into a single master sheet and standardised the columns: name, phone,side, relation, events_invited,notes. Boring step. Most of the chaos disappears here.
One row per guest - this matters
When you upload to Weddingkart, each guest should appear exactly once in the sheet. If the same person shows up in two rows with conflicting data - say, “Vinod” in the bride-side tab with one phone number, and “Vinod Kumar” in the outstation tab with a slightly different number - the import has to pick one, and some of that contact's data will get overwritten. The rearrangement step exists mostly to catch these duplicates before they reach the app, where un-merging is harder than de-duping in the spreadsheet.
2. Used Gemini to write the formulas
The planner is not a formulas person. She knows what she wants -“a column that says TRUE if this person is invited to mehendi” - but freezes at IF(SEARCH(...)). We pulled up Gemini, described each derived column in plain English, and pasted the formula it gave back into the sheet.
About a dozen columns in twenty minutes:
is_bride_side,is_groom_side- normalised from the messy “Side” columnis_mehendi,is_sangeet,is_haldi,is_reception- one boolean per eventis_outstation- TRUE for anyone whose city is not the wedding cityis_close_family- relation in a curated setrsvp_status- yes / no / pending, normalised from the free-text column
The Gemini step matters because it removed the “I'll come back to this when I have time to learn formulas” stall. The planner watched it happen, asked Gemini for two more columns herself by the end of the session, and now treats it as a regular tool.
It also matters where we put the complexity. These formulas live in the spreadsheet, not in the app. The app does not know - and does not need to know - that “Reception + Cocktails + Wedding + Ottimo” is a meaningful combination at this wedding. Excel handles the logic; the app just receives clean groups. That split is the whole reason the next step works.
3. Produced clean derived columns
Once the formulas ran, every column was either an identity field (name / phone) or a clean boolean / category. No more cells stuffed with three pieces of information.
This is the key intermediate artefact, and most planners do not know it has a name. Clean derived columns are what makes the next step trivial.When a planner says “I can't get my list into Weddingkart,” what they usually mean is “my list is not in a shape that any system could use.” A scratch session with Gemini and a clean schema fixes that in under an hour.
4. Imported the derived columns as guest groups
We imported the master sheet into Weddingkart and mapped each clean boolean column to a guest group: Bride's side,Groom's side, Mehendi, Sangeet, Haldi,Reception, Outstation, Close family,RSVP'd yes, RSVP'd no, RSVP pending.
From that point on, every guest in the wedding was automatically tagged with the right groups. No manual tagging, no per-event tabs, no parallel guest lists.
Here is the actual sheet at the end of the session. The colour coding tells you what each kind of column is doing:
- Blue headers are the original raw columns the planner had captured per event - one cell per guest, per event. These get typed in by hand. They are the truth, but they are not directly useful for messaging.
- Red headers are Excel formulas. We used Sheets' native formula language - prompted via Gemini - to combine the blue columns into ready-to-use guest groups. Each red cell is computed live from the blue cells next to it. Edit a blue cell, the red column re-derives itself.
- Green headers are manager-filled logistics fields - which transfer pickup, which day, self-driven or not. These do not need a formula; the event manager just types Yes / NA / a value and moves on.
The red and green columns are the ones Weddingkart actually targets on - red for “who gets which event's WhatsApp,” green for “who gets which transport message.” Notice what we deliberately did not do: we did not push the complexity into the app. All the formula work, all the “which combination of events is this guest at,” lives in Excel - the tool the planner already knows. The app stays a simple group picker. She opens it, taps a couple of groups, sends. No expressions, no query language, no conditional builder UI.

The unlock: AND / OR between groups
This is where her face changed on the call.
Once groups exist, every “send this message to this slice of people” becomes a one-line boolean expression inside Weddingkart. You toggle groups in the audience picker and combine them with AND, OR, and NOT. The audience count updates live as you click.
| She wants to send… | Group expression |
|---|---|
| Sangeet reminder, but skip people who declined | (Sangeet) AND NOT (RSVP'd no) |
| Outstation hotel-block info | (Outstation) AND (RSVP'd yes) |
| Haldi morning details, close family only | (Haldi) AND (Close family) |
| Reception address, groom's office + bride's college | (Groom's office) OR (Bride's college) |
| Day-3 thank-you | (RSVP'd yes) AND (Reception) |
She had walked in expecting to send around a dozen separate WhatsApp broadcasts, each manually filtered inside the family group chat. With groups plus booleans she now composes the audience for each message in about ten seconds.
The specific request that sealed it
Her actual ask, in her own words: “I really don't want to keep messaging the people who already told me they can't come - it makes them feel guilty, and it makes us look like we're not listening.”
Two clicks: Sangeet AND NOT RSVP'd no. Send.
Small thing on the surface. To her, it was the difference between “this is just another bulk-message tool” and “this software actually thinks about my guests.”
What happened next

Two things, both unprompted.
First, she left a review on the App Store about the experience the same week. We did not ask. We do not chase reviews. The review existed because the working session ended with her smiling, and we got out of the way before that feeling wore off. That smile is what we actually optimise for. Every other metric we look at is downstream of it.
Second, before Shweta and Sai's wedding was even over, she pre-booked her next wedding with us - a November 2027 event she is already planning for. Reviews can be coaxed. A planner pre-booking her next wedding cannot.
What other planners can take from this
If you are a planner reading this with a similar messy file open in another tab, the playbook is short:
- Do not import the messy sheet. Spend the hour to collapse tabs and standardise columns first. The downstream pain of a bad import is much higher than the upstream pain of a one-time cleanup.
- One row per guest. Before you upload, make sure each contact appears exactly once. If the same person shows up twice with two slightly different phone numbers or names, the import will pick one and silently overwrite some of their data. Catch the duplicates in Excel, where merging is easy, not in the app, where it is not.
- Use Gemini (or any decent LLM) to write your derived columns.Describe the column in plain English. Paste the formula. Move on. You do not need to learn nested
IFstatements to ship a clean spreadsheet. - Map every clean column to a guest group when you import. The groups are how you compose audiences later. If you skip this step you will end up rebuilding it manually in the app, which is the slowest possible way.
- Pick groups, do not pick people. Once your groups exist, every message starts with the same question: which groups should get this?Tap the groups, send. You should never again be scrolling through a guest list deciding name-by-name who gets a particular message - the groups already encode that decision for you.
- Always exclude RSVP-declined guests from event-specific reminders.It is one filter. It is the difference between a planner who feels in control and a guest who feels nagged.
And if you are running a wedding on Weddingkart and you are stuck at step one, we will do the working session with you. WhatsApp us at the number below; we reply within an hour during business hours.
Try it on your wedding
Weddingkart is free to explore - every feature works out of the box with no credit card required. The only limit on the free plan is that you can send announcements to a maximum of 3 guests at a time. Paid plans remove that cap and let you broadcast to the audience your boolean filter just produced.
Stuck on your own messy guest list? WhatsApp us at +91 92176 10045 and we will sit on a working session with you, the same way we did for this wedding.
Related reading
How to Clean a Wedding Guest List for WhatsApp →
The inflow guide. Step-by-step cleanup of a messy guest sheet before any of this kicks off.
Can Weddingkart Sync RSVPs Back to My Excel? →
The outflow guide. How collected RSVPs and travel data flow back into your spreadsheet.
Guest Attributes: Personalised Messages for Every Guest →
Once groups exist, attributes are the next layer - per-guest hotel, pickup, bus group.
Feature: Guest Management →
Structured guest lists across families, cities, and events - the underlying capability.
Was this article helpful?
Share

