Embedding problems

Fix a monday.com widget that doesn't show correctly on your website

When a Board to Website Widget looks right in the app's preview but not on your website, the cause is almost always the website, not the widget: a plugin that changes scripts, an editor that rewrites the code, or two embeds that share an ID.

The embed code

What a working embed looks like

The embed code from the Publish dialog has three parts, and all three have to reach the page unchanged:

<script src="https://widgets.getgorilla.app/resizer/iframeResizer.min.js"></script>
<iframe id="widget-WIDGET_ID" src="https://widgets.getgorilla.app/WIDGET_ID?type=embed" style="width:1px;min-width:100%;border:0;"></iframe>
<script>iFrameResize({ log: false }, '#widget-WIDGET_ID');</script>
  1. The resizer script, loaded from widgets.getgorilla.app
  2. The iframe that shows the widget
  3. A short script that tells the resizer which iframe to adjust to its content

Paste it into an HTML or code block of your website builder – in WordPress, the Custom HTML block – not into a text block. You can put your own headline or wrapper around it, but don't change the code itself.

Did you know?

The embed code never changes when you publish again, so once it works, it keeps working. You only need to touch your website again when you add URL parameters or embed another widget.

Size

The widget is a narrow strip, too short or cut off on phones

The iframe gets its height from the resizer script. When the script doesn't run, the widget keeps a default size: a narrow strip, a box with a few lines, or only the first card of a grid on a phone. Look at the page's source code (in most browsers: right-click → View page source) and search for iframeResizer:

  • The script is missing. Your website builder removed it. Many editors strip <script> tags from text blocks, and some WordPress setups only allow them in certain blocks or for administrators. Paste the code into an HTML block, or ask your web developer to allow it.
  • The script is loaded from your own domain, for example as /wp-content/cache/min/…/iframeResizer.min.js with data-minify or defer added. An optimisation or caching plugin combined, minified or delayed it. Exclude widgets.getgorilla.app (or iframeResizer) from minifying, combining and delaying JavaScript in that plugin, and clear its cache.
  • The iframe has loading="lazy", a data-src instead of src, or a lazy-loading class. A lazy-loading plugin or theme setting took over the iframe, and the resizer can't reach it. Turn off lazy loading for iframes, or exclude the widget.

To see what the resizer is doing, change log: false to log: true in the last line and open your browser's developer console on that page. Errors there usually point to the plugin that interferes.

Not published

"This widget hasn't been published."

The widget address in the embed code doesn't lead to a published widget:

  • The widget ID was changed by accident. Look for a space or line break after widgets.getgorilla.app/, or anything else between the slash and the ID. Visual editors sometimes insert invisible characters or extra tags; paste the code again in the editor's HTML or code view.
  • The widget isn't published yet, or it was unpublished. Publish it from the app view on its board.
  • It's a different widget. Since a board can hold several widgets, each with its own embed code, check that the code belongs to the widget you published.

Several embeds

Several widgets on one page have the wrong height

Each embed on the same page needs its own ID, and it has to match in two places: the iframe's id and the selector in the last script line. Add a number to both, and load the resizer script only once per page:

<script src="https://widgets.getgorilla.app/resizer/iframeResizer.min.js"></script>

<iframe id="widget-WIDGET_ID-1" src="https://widgets.getgorilla.app/WIDGET_ID?type=embed&filter_group=Chairs" style="width:1px;min-width:100%;border:0;"></iframe>
<script>iFrameResize({ log: false }, '#widget-WIDGET_ID-1');</script>

<iframe id="widget-WIDGET_ID-2" src="https://widgets.getgorilla.app/WIDGET_ID?type=embed&filter_group=Tables" style="width:1px;min-width:100%;border:0;"></iframe>
<script>iFrameResize({ log: false }, '#widget-WIDGET_ID-2');</script>

If only the first widget on a page resizes, two iframes share an ID. Wrapping elements that a theme or page builder adds around each embed can also carry duplicate IDs; keep the embed code as it comes from the app.

URL filters

An embed with a URL filter shows nothing or the wrong items

URL parameters filter by the exact value on the board, so the link breaks when that value changes:

  • A group or label was renamed. Update the value in the link, or match on part of the name with |contains, for example filter_group|contains=Chairs. A partial match keeps working when the rest of the name changes.
  • Special characters aren't encoded. In a link, write a space as %20 and an & as %26 – an unencoded & starts a new parameter and cuts the value off.
  • Spelling and punctuation differ. A dash instead of an en dash or a typo in a person's name is enough. Copy the value straight from the board.

Content

The widget shows old data, too few items or wrong times

  • Board changes don't appear. A widget is a snapshot of the board at the moment it was published. Publish again, or let the publish automation do it on a schedule; see the FAQ.
  • Only some items show, without a "Load more" button. The button may be there in the same colour as the background. Adjust the widget colours, or raise the number of items per load in the widget settings.
  • Times are a few hours off. monday.com shows dates in your computer's time zone, while publishing uses the time zone set in the monday.com profile of the person who publishes. If the two differ, set the profile to the right time zone and publish again.
  • Mirror columns show plain text, and links in them aren't clickable. Mirror columns reach the widget as text; see Limitations.

Checklist

A checklist for your web developer

Most fixes happen in your website's settings, so they're often for whoever maintains the site. Send them this list, or download it as a text file:

  • The share link shows the widget correctly in its own browser tab.
  • The embed code sits in an HTML or code block, and the live page still contains all three parts: resizer script, iframe and the iFrameResize line.
  • The widget address has no space or line break after widgets.getgorilla.app/.
  • The resizer script loads from widgets.getgorilla.app, not from a cached or minified copy on the website's own domain.
  • The resizer script is excluded from minifying, combining and delaying JavaScript.
  • The widget iframe is excluded from lazy loading.
  • Every iframe on the page has its own ID, and each iFrameResize line uses the matching ID.
  • URL filter values match the board exactly, with spaces as %20 and & as %26.
  • The container around the widget doesn't have a fixed height or a narrow width.
  • The page works on desktop and on a phone after clearing the website's caches.

Still stuck?

Send us the page

Contact us with the address of the page where the widget is embedded, the widget's share link and which of the checks above you already tried. Most embedding problems are visible in the page's source code, so a link usually tells us more than a screenshot.