Directory / plugin

Embed for Tally – Forms Block, Popup & Elementor Widget

v1.2.0 · by Hendra Setiawan

Embed Tally forms in WordPress with a block, shortcode or Elementor widget: inline, popup or slide-in, with a live preview in the editor.

About this plugin

Add Tally forms to WordPress without editing HTML. Tally (tally.so) suggests pasting its embed code into a Custom HTML block. That works, but you get no preview in the editor, every option means editing HTML by hand, and page builders need a different approach again.

Embed for Tally gives you a Tally Form block that shows the real form in the editor, with every embed option in the block sidebar, a Tally Form widget for Elementor, and a [tally_form] shortcode for the classic editor, widgets, Divi, Bricks and other page builders. Show a Tally form inline, as a popup, or as a slide-in, without touching HTML.

How to embed a Tally form in WordPress

  1. In Tally, open your form, go to Share and copy the share link (it looks like https://tally.so/r/mRoDv3).
  2. In the WordPress editor, add the Tally Form block. Type “tally” in the block search to find it.
  3. Paste the link and click Embed. The live form appears in the editor.
  4. In the block sidebar, choose inline, popup or slide-in, adjust the options, and publish.

Using Elementor? Add the Tally Form widget, paste the link into Form link or ID and choose inline, popup or slide-in.

Using the classic editor or another page builder? Paste the shortcode instead: [tally_form id="mRoDv3"]. Go to Tally Forms Shortcode to build one with your options and copy it.

After activation, a Get started page saves your form once, so every new block and widget starts with it, and creates a page with the block or the Elementor widget already in place.

Features

  • Paste a form URL or ID. Share links, embed URLs and bare IDs all work.
  • Three display modes, chosen by picture in the block sidebar: on the page, a button that opens a popup (centred with overlay), or a slide-in (bottom corner).
  • Display options: hide title, transparent background, auto height, fixed height, left alignment.
  • Popup and slide-in options: button text, button style, popup width, emoji and auto close.
  • Open popups automatically: after a delay, when the visitor is about to leave (exit intent) or after scrolling part of the page. Show them only once per visitor, or not again after the form is submitted.
  • An Elementor widget with the same options, plus a Style tab for the popup button.
  • A shortcode builder: choose your options under Tally Forms Shortcode and copy the finished shortcode.
  • Optional conversion tracking: report form views and submissions to the Google Analytics, Google Tag Manager and Meta Pixel tags already on your site.
  • Optional UTM memory: keep UTM parameters for the visit, so a form on a later page still receives them.
  • Optional “Load form” placeholder: nothing is requested from Tally until the visitor clicks.
  • Optional thank-you page: send visitors to a page of your choice after they submit.
  • Optional prefill for logged-in visitors: their name and email reach the form as hidden fields.
  • Optional AI assistant support: lets Claude, ChatGPT and other assistants add your Tally forms through WordPress Abilities (WordPress 6.9+).
  • Pass static hidden-field values from the block or shortcode.
  • Any number of forms on one page, each with its own settings.
  • Tally’s embed script loads only on pages where a form is rendered.
  • A Get started page that saves your form once and creates a page with the block or widget for you. A settings page with defaults for new forms, under its own Tally Forms menu. No dashboard notices.

Shortcode

[tally_form id="mRoDv3" mode="inline" hide_title="1" transparent="1" auto_height="1"]

See the FAQ for the full list of attributes.

Why this plugin exists. I built it for a friend who runs their forms on Tally and wanted them in WordPress without pasting HTML. It worked well, so I’m sharing it here for anyone in the same spot.

External services

This plugin embeds forms from Tally (tally.so), a third-party form builder. It does not work without it.

On every page where a form is rendered, the plugin loads Tally’s embed script from https://tally.so/widgets/embed.js and embeds the form from https://tally.so/embed/{form-id} (inline) or https://tally.so/popup/{form-id} (popup and slide-in). Tally’s script also sends the current page path and query string to Tally so they can be stored in hidden fields. Anything a visitor types into the form is sent to Tally, not to your WordPress site.

In the WordPress admin, the plugin contacts Tally only if you click Request this feature on the Tally Forms Submissions page. That opens a short feedback form hosted on Tally (https://tally.so/r/1A85lO) and loads Tally’s embed script at that moment. The form sends what you type, plus the plugin’s version number. The plugin does not require a Tally API key.

Optional features, all off by default (Tally Forms Advanced):

  • Track form submissions. Tally’s script reports form views and submissions to the analytics tags already on your page: Google Tag Manager’s dataLayer and Meta Pixel (fbq). The plugin also sends a tally_form_submitted event to Google Analytics (gtag) when your site uses it. The events carry the form’s ID, name and page path, never the answers. The plugin adds no analytics tags of its own; what your own tags send, and to whom, is governed by those services.
  • Remember UTM parameters. UTM parameters in the page address are kept in the visitor’s browser (sessionStorage, until the tab closes) and added to forms on later pages, so they reach Tally with the submission. To catch them on the page the visitor lands on, a few lines of inline JavaScript are added to every page of the site while this option is on.
  • Ask before loading forms. Inline forms show a placeholder, and nothing is requested from tally.so until the visitor clicks. The choice is remembered in the visitor’s browser for the visit (sessionStorage).
  • Fill in name and email for logged-in visitors. The display name and email address of a visitor who is logged in to your WordPress site are added to the form’s address as the hidden fields name and email, so Tally receives them with the submission. Nothing is passed for visitors who are not logged in, and a value set on the block or shortcode wins.
  • Thank-you page. After a submission, the visitor is sent to the page you choose on your own site. Nothing is sent to Tally.

Popups set to “Show only once per visitor” or “Don’t show again after submitting” are remembered by Tally’s script in the visitor’s browser (localStorage).

Tally’s terms and privacy policy: https://tally.so/help/terms-and-privacy
Tally’s GDPR information: https://tally.so/help/gdpr

Plugin tags