If you keep your prices, schedule, roster, or product list in a Google Sheet and you want it to show up on your Wix site, there's no single button for that. Wix doesn't have a native Google Sheets element, so "embedding a sheet" usually means one of three different things: showing a live copy of the sheet as a webpage inside your site, copying the sheet's data into Wix's own database once, or installing a third-party app that keeps a copy synced on a schedule. Each one trades off how current the data stays against how much it can break, and it's worth knowing that trade before you pick one.
Below are the three free, do-it-yourself methods, what each one actually does, and where each one tends to fail, plus an alternative fourth option.
Method 1: Publish the sheet and embed it as a webpage
Google Sheets can turn a sheet into a public webpage. In Sheets, go to File, then Share, then Publish to web, choose the sheet (or the whole workbook) and a format, and click Publish. Google gives you a URL.
In the Wix Editor, open the Add panel (it's labeled "Add Elements" in Wix Studio, or the "+ Add" button in the classic Wix Editor), look in the Embed section, and add either the Embed a Site element or the Embed Code element, which is Wix's HTML iframe. Paste the published URL, or the iframe code Google gives you, into that element's settings, and the sheet appears inside that box on your page.
This method is free, needs no code, and updates on its own whenever you edit the sheet, because the published page is just a live mirror of it.
Problems with this approach
The embedded box still looks and behaves like a spreadsheet sitting inside your page, and it usually doesn't resize well on a phone. Google's publishing feature also makes that sheet visible to anyone with the link, so don't publish anything you wouldn't want public.
If you ever unpublish the sheet, or its sharing settings change, the embed goes blank with no warning anywhere on your page. The most common cause of a sheet going blank after working fine for months is a sharing setting that changed, sometimes without anyone touching it on purpose. Checking Share settings on the sheet again fixes this more often than any other single step.
Method 2: Copy the data into Wix's own Table element
Wix has a native Table element, but it reads from Wix's own database (called the CMS, or Content Manager in some editors), not from Google Sheets directly. To use it, create a CMS collection, click Import CSV File and upload a CSV export of your sheet, then add a Table element to the page and connect it to that collection through a dataset.
This is the most stable of the three methods because once the import is done, nothing external can break it. A Google server being unreachable has no effect on it.
Problems with this approach
It isn't live. Every time your sheet changes, you have to export a fresh CSV and re-import it by hand, so it suits data that barely changes, like a fixed price list, much better than something you update every week. If you forget to re-import after a change, the table just keeps showing the old numbers, and nothing on the page tells you they're stale.
Method 3: A table app from the Wix App Market
The Wix App Market has a Charts & Tables category full of apps built specifically to connect a Google Sheet to a table on your site and keep it synced automatically, without CSV exports. You install one from the App Market and then point it at your sheet's shared link from the app's own settings panel.
This is the easiest route to a table that updates itself without you writing code or doing manual exports.
Problems with this approach
What you're trading for that convenience is depending on someone else's syncing, row limits, and free-plan restrictions, and these vary a lot between apps. Check the specific app's stated limits before you commit a large or fast-changing sheet to it.
The same couple of problems show up again and again in Wix's own support forums. A table that worked for months can suddenly show nothing, usually because the sheet's sharing setting changed and it's no longer shared as "Anyone with the link." And a table can show only part of a sheet, often stopping around a round number like 100 rows, because several table apps cap how many rows they'll read, especially on lower or free plans, and a sheet that grows past that cap tends to get quietly cut off instead of showing an error that tells you what happened.
A table that looks fine on a laptop can also turn into a mess on a phone, either because the whole page scrolls sideways to fit a wide table, or because the columns overlap and text gets cut off. That's a scrolling behavior built into the table element itself, and it shows up on a phone screen even when nothing about your sheet has changed.
How SteadyTable compares with a typical table app
Table Master is the most-reviewed app in Wix's Charts & Tables category, which makes it a useful comparison point. As of this writing it holds a 2.6-star rating across roughly 780 reviews on the Wix App Market, and the recurring complaints in those reviews match the failure modes above: the connected sheet's URL validation breaking, rows getting cut off past around 100, and tables not displaying well on mobile.
SteadyTable connects to a sheet the same way, by shared link, but handles those three cases differently.
| Typical table app (e.g. Table Master) | SteadyTable | |
|---|---|---|
| Sheet becomes unreachable | Table can go blank | Keeps showing last good data |
| Row limit reached | Rows get cut off silently | Sync pauses, dashboard explains why |
| Mobile display | Page can scroll sideways | Table scrolls inside itself |
Other apps in the same category will have their own ratings and complaints, so check the specific app you're considering before leaning on this comparison.
Where SteadyTable fits in
That last problem, a table going blank the moment its source hiccups, is the one I built SteadyTable to solve. SteadyTable is a Wix app in the same Charts & Tables category as Method 3. You point it at a Google Sheet shared by link, a CSV, or rows you type in by hand, and it renders a table your visitors can sort and search, with results split across pages.
The part that's different from a typical sync: every time SteadyTable pulls new data, it keeps the last successful copy. If the next sync fails, because the sheet got unshared or a tab got renamed, the table keeps showing that last good data to your visitors instead of going blank, and your own dashboard shows a plain-language note on what to fix, something like "this sheet is not shared publicly."
SteadyTable has three plans:
| Plan | Price | Tables | Rows per table | Sync |
|---|---|---|---|---|
| Free | $0 | 1 | Up to 200 | Once a day |
| Site | $7/month ($5.83/month billed yearly) | Unlimited | Up to 5,000 | Every 15 minutes |
| Pro | $15/month ($12.50/month billed yearly) | Unlimited | No row limit (sheets up to 10 MB) | Every 5 minutes, priority support |
Sorting, search, pagination, the mobile layout, the last-good-data fallback, and the plain-language fix notes are all included on every plan, including free.
What none of the plans do yet is connect to a private Google Sheet. That's coming, once Google finishes verifying the app for that access. Right now every plan reads a sheet shared by link, an uploaded CSV, or rows entered by hand.
If the failure modes above are the ones you've been running into, you can find SteadyTable in the Wix App Market: https://www.wix.com/app-market/venture-vd-llc-steadytable