Menus
Updated September 24, 2026
A menu is a structured, multilingual list of dishes. It belongs to your account and is assigned to one or more restaurant or hotel locations. Build it once and use it in three places: linked from a microsite, opened on its own public page, and published to Google Business Profile as the location’s food menu. Prices, photos, allergens and nutrition all live in one place, so a dish that changes is updated once rather than per location.
Before you start
- Menus use the Microsites permission module — there is no separate menus permission. Restricted access lets you open menus read-only. To edit, duplicate, delete or publish a menu, you need full access on every location it is assigned to. See Users and permissions.
- Menus appears under Web pages in the sidebar when the account industry is Other, Hotel and Lodging or Restaurant.
- A menu can only be assigned to locations whose Type is Restaurant or Hotel. Set the type in Locations → Manage — see Managing locations.
- Publishing to Google additionally needs a connected official Google Business Profile on the location — see Google Business Profile.
- Colours, fonts and the logo come from the brand appearance in Settings → Brands.
Where to find it
Sidebar → Web pages → Menus, or go to https://app.pluspoint.io/web-pages/menus.
Reading the menus list
Note A menu with no locations assigned is visible only to users whose Microsites access — restricted or full — covers every location. Managing it takes full access everywhere. There is no location through which to grant narrower access.
Creating a menu
- Go to Web pages → Menus.
- Click Create menu.
- In the Settings tab, fill in Internal name, Currency, Locations and Title, and optionally Cuisines and Description.
- Switch to the Menu builder tab. A first section already exists.
- Use Add item to add dishes and Add section to add further sections.
- Click Save.
Note A menu cannot be saved half-finished. Save stays disabled until the menu is complete. Hover it to see a checklist headed Complete the following to save the menu:.
Building sections and items
The structure is Menu → Sections → Items → Options.
Sections
Use Add section to add a section — the translation editor opens straight away so you can name it. A section’s divider turns red whenever the section has no name or no items, and that section blocks Save.
Items
Use Add item to add a dish. Drag an item to reorder it inside its section, or drop it into a different section.
| Field | Required | Notes |
|---|---|---|
| Item name | Yes | Up to 140 characters |
| Price | Yes | Numeric, minimum 0 |
| Description | No | Up to 1000 characters, with the AI writing assistant |
| Item photo | No | JPG or PNG, up to 10 MB |
The photo picker forces a square 1:1 crop and produces an image between 720 px and 1440 px wide. Pick artwork that reads well cropped square.
Item options
Switch Add item options on to add sizes or variants with their own prices. Each option needs a name. The Price on an option is the full price of the item in that variant, not a surcharge: a 10 € taco with a 2 € extra cheese option is priced 12 €. It is optional.
Additional attributes
Additional attributes on an item card opens spiciness, allergens, dietary restrictions, preparation methods, ingredients (up to 5000 characters), portions and nutrition — all optional.
Translating a menu
Three places open the same translation editor:
- Localization on the Settings tab, for the menu title and description.
- The pencil icon on a section divider.
- Localization on an item card.
| Rule | Detail |
|---|---|
| Default language row | Cannot be deleted or switched, and its Title is required |
| Additional rows | Can be added while unused languages remain; their titles are optional |
| Item options | Translated in the same editor, one input per option per language |
| Save blocked when | The default title is empty, a title exceeds 140 characters, a description exceeds 1000 characters, or an option has no default-language name |
The menu’s default language comes from the account locale and is not selectable per menu:
| Account locale | Default menu language |
|---|---|
| United Kingdom, United States, International | English |
| Spain | Spanish |
| Portugal, Brazil | Portuguese |
| Ukraine | Ukrainian |
| Poland | Polish |
| Germany | German |
Note A language only appears in the public page’s language switcher if the menu-level title exists in it. Translating an item alone does not add a language — add the title translation on the Settings tab as well.
Publishing a menu to Google Business Profile
Two controls do the same thing: the Published on Google toggle in the list row, and the Show on Google Business Profile switch on the editor’s Settings tab.
Flipping either one syncs every location the menu is assigned to. A menu you have just created and an AI-imported draft both start with publishing off.
Each sync replaces the location’s menus on Google with the ones published from Pluspoint, so menu edits made directly in Google are overwritten. A location that has never had a menu published from Pluspoint keeps the menu curated in Google.
What has to be true for the sync to reach Google
| Requirement | If it is not met |
|---|---|
| The location has a connected official Google Business Profile with both a Google account and a Google location | The location is skipped |
| Google itself reports that the listing can have food menus | The location is skipped — Google’s own eligibility wins over the Restaurant or Hotel type set in Pluspoint |
Warning Neither skip shows anything in the dashboard — the toggle stays on and the row shows no error. There is no per-menu Google status indicator. If a menu never appears on Google, check the listing’s primary category in Google Business Profile first. A category Google does not treat as food-serving will never accept a menu.
What is sent
- Item photos are uploaded to Google as location media in the “Food and drink” category. Photos are never deleted from Google — removing an item’s photo in Pluspoint only stops referencing it. The image stays in the listing’s photo gallery.
- Sections and items go up in the order shown in the builder. Hidden items and hidden options are excluded.
Two published menus cannot share a name
Google rejects a location’s entire food-menu payload when two published menus share a top-level display name. Pluspoint blocks that up front when you publish, save or reassign a menu.
| Detail | Behaviour |
|---|---|
| What is compared | The public Title in any language, normalised — not the internal name |
| What conflicts | Only published menus that share at least one location |
| What does not conflict | Unpublished menus, and menus with the same title on different locations |
| Section and item names | Exempt — only top-level menu names must be unique |
Importing a menu with AI
Import with AI turns an existing menu file into a draft you can edit.
- Click Import with AI.
- Drop files onto the upload area, or click to pick them.
- Click Import.
- The Create menu modal opens pre-filled. Review the sections, items and prices. An item card outlined in red is missing something the menu needs, usually a price — open it to fill the gap.
- Assign Locations, then click Save.
| Limit | Value |
|---|---|
| Files per import | 5 |
| Size per file | 10 MB |
| Total request size | 60 MB |
| Accepted types | .pdf, .jpg, .jpeg, .png, .webp, .xlsx, .csv, .json, .txt, .docx |
Warning The import produces a draft in the editor, not a saved menu. Nothing is stored until you press Save. The draft arrives with no locations assigned and Show on Google Business Profile off, so you must pick locations before it can be saved. Text lands in the account’s default menu language.
Writing descriptions with AI
The menu description and every item description carry an AI toolbar with a Write description action. You can edit the draft afterwards like any other text.
Assigning menus from a location
If you think per location rather than per menu, assign menus from the location instead:
- Go to Locations → Manage and open the location.
- Scroll to Additional information.
- Open the Menus multi-select and tick the menus this location should serve.
- Save the location.
| Detail | Behaviour |
|---|---|
| When the field appears | The location’s Type is Hotel or Restaurant, and at least one menu exists in the account |
| What saving does | Replaces that location’s menu assignments with your selection |
| Access needed | Full access to the Microsites module on that location, and the right to manage each menu as it currently stands |
Duplicating and deleting menus
Duplicate creates a copy named <internal name> (copy). The copy keeps the same locations, currency, cuisines and full content. It is created with publishing off, because two published menus on the same location may not share a public title — and the copy starts with an identical one. Rename it before you publish.
Delete cannot be undone. Deleting also re-syncs Google for the locations the menu was assigned to, which removes it from those listings.
Where a menu appears publicly
| Surface | How to get there |
|---|---|
| The Pluspoint public menu page | Its own URL on plsp.io, optionally with a location so the page uses that location’s branding, and optionally with ?language=XX. This is the URL a microsite menu button opens |
| A microsite button | Only on a location microsite whose location is Restaurant or Hotel and has that menu assigned — see Microsites |
| Google Business Profile | When Published on Google is on and the preconditions above hold |
Branding follows the viewed location’s brand appearance.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| There is no Menus entry under Web pages | The account industry is not Other, Hotel and Lodging or Restaurant | Menus are only offered for those industries |
| Create menu and Import with AI are missing | You have restricted, not full, access to the Microsites module | Ask an admin for full access — see Users and permissions |
| A location is missing from the Locations dropdown | Its Type is not Restaurant or Hotel, or you cannot write it | Set the type in Locations → Manage |
| Save is greyed out | The menu is incomplete | Hover Save and work through Complete the following to save the menu: |
| A section divider is red | The section has no name or no items | Name it with the pencil icon, or add an item |
| Another published menu with the same name exists on one of this menu’s locations. | Two published menus on one location share a public Title | Rename one of them, or unpublish one |
| A duplicated menu is not on Google | Copies are created with publishing off on purpose | Rename the copy, then turn Published on Google on |
| The menu never shows up on Google | No connected Google profile, or Google does not consider the listing food-serving | Connect the profile and check the listing’s primary category in Google Business Profile |
| The AI import ends with Something went wrong | The file could not be parsed, often because it is too large | Split it into smaller files and import again |
| An AI draft will not save | Imported drafts arrive with no locations | Assign at least one location on the Settings tab |
| A language is missing from the public switcher | The menu-level Title has no translation in it | Add that language in Localization on the Settings tab |
| The Menu link type is unavailable on a microsite | The microsite is brand-owned, the location is not Restaurant or Hotel, or no menu is assigned to it | Assign the menu to the location and use a location-owned microsite |