Embed for Tally – Forms Block, Popup & Elementor Widget

Description

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.

Features

  • Paste a form URL or ID. Share links, embed URLs and bare IDs all work.
  • Three display modes: inline, popup (centred with overlay) and 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 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 settings page with defaults for new forms, under its own Tally Forms menu.

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).

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

Screenshots

Blocks

This plugin provides 1 block.

  • Tally Form Embed a Tally form inline, as a popup or as a slide-in.

Installation

  1. Upload the plugin folder to /wp-content/plugins/ or install it from the Plugins screen.
  2. Activate the plugin.
  3. Add the Tally Form block to a post or page (or the Tally Form widget in Elementor) and paste your form’s share link, or use the [tally_form id="..."] shortcode.
  4. Optionally set defaults under Tally Forms Settings.

FAQ

Is this an official Tally plugin?

No. Embed for Tally is an independent plugin by Hendra Setiawan and is not affiliated with or endorsed by Tally. “Tally” is a trademark of its owner.

Do I need a Tally account?

Yes. Forms are built at tally.so; a free Tally account is enough.

How do I add a Tally popup form to WordPress?

Add the Tally Form block, paste your form link, and set Display mode to Popup in the block sidebar. Your page shows a button that opens the form in a centred popup. You can change the button text and style, open the popup automatically, and close it after the form is submitted. With the shortcode, use [tally_form id="mRoDv3" mode="popup" button_text="Contact us"].

Can a popup open by itself?

Yes. Under Open the form, choose after a delay, when the visitor is about to leave (exit intent, desktop only) or after scrolling part of the page. You can show it only once per visitor, stop showing it after the form is submitted, and hide the button so the popup only opens automatically. With the shortcode: [tally_form id="mRoDv3" mode="popup" open_trigger="exit" show_once="1" hide_button="1"].

Can I show a Tally form as a slide-in?

Yes. Set Display mode to Slide-in, or use mode="slidein" in the shortcode. The form opens in a small panel in the bottom corner of the page.

Where do I find the form ID?

In your form’s share link (https://tally.so/r/mRoDv3), embed URL (https://tally.so/embed/mRoDv3) or editor URL (https://tally.so/forms/mRoDv3/edit). You can paste any of those, or just the ID.

How do I embed a Tally form in Elementor, Divi or Bricks?

In Elementor, add the Tally Form widget. It has the same options as the block and a Style tab for the popup button. In Divi, Bricks and other builders, put [tally_form id="..."] in the builder’s shortcode, text or HTML element. Tally Forms Shortcode builds the shortcode for you. The same shortcode works in the classic editor and in widgets.

Can I pass hidden fields to my Tally form?

Yes. Add static values in the block’s Hidden fields panel (one key=value per line) or with hidden="source=website,campaign=spring" in the shortcode. The keys must match hidden fields in your Tally form. Tally also receives the page’s address and query parameters automatically.

What shortcode attributes are there?

You don’t need to learn them: Tally Forms Shortcode writes the shortcode from the options you choose. For reference: id (required), mode (inline, popup, slidein), hide_title, transparent, auto_height, height (px), align (left or center), button_text, button_style (inherit or basic), open_trigger (click, delay, exit, scroll), open_delay (seconds), open_scroll (percent of the page), show_once, hide_after_submit, hide_button (automatic opening only), width (popup width in px), overlay (slide-in only), emoji, emoji_animation, auto_close (seconds), hidden (key=value,key2=value2), title (accessible name of the form).

Where do I find submissions?

In your Tally account. The plugin displays your forms; everything visitors send is stored by Tally. Open the form in Tally and go to its Submissions tab.

Can submissions be stored in WordPress too?

Not yet. If you would use that, click Request this feature under Tally Forms Submissions, or say so in the support forum. Those requests decide what gets built next.

Can I track Tally submissions in Google Analytics, Tag Manager or Meta Pixel?

Yes. Turn on Track form submissions under Tally Forms Advanced. Form views and submissions are then reported to the tags already on your site. In Google Tag Manager, use a Custom Event trigger for Tally.FormSubmitted. Sites that use Google Analytics without Tag Manager receive a tally_form_submitted event. Meta Pixel receives Tally.FormSubmitted as a custom event. The plugin adds no tags of its own, so your site needs one of these installed.

Do UTM parameters reach my form if the visitor lands on another page first?

Turn on Remember UTM parameters under Tally Forms Advanced. The plugin keeps utm_source and the other UTM parameters for the visit and passes them to forms on later pages. Add hidden fields with the same names to your Tally form to store them. The values are kept in the visitor’s browser until the tab closes, so check whether your cookie notice should mention it.

Can I stop Tally loading until the visitor agrees?

Yes. Turn on Ask before loading forms under Tally Forms Advanced. Inline forms then show a short message and a “Load form” button, and nothing is requested from Tally until the visitor clicks. Popups load when their button is clicked, and popups that open by themselves wait until a form has been loaded. You can change the message and the button label.

Does it work with AI assistants?

Yes, once you turn it on. It is off by default: go to Tally Forms Advanced and turn on Let AI assistants use Embed for Tally. On WordPress 6.9 or newer, the plugin then registers three WordPress Abilities that assistants connected to your site (for example through WordPress’s MCP adapter) can use: get the embed code for a form, insert a form into a post or page, and list the posts that contain a form. They follow WordPress permissions: only users who can edit a post can add a form to it. Inserting a form never changes existing content, and it is saved as a normal revision.

If Elementor is active: recent Elementor versions switch the site’s MCP server off until you turn MCP on under Elementor Elementor MCP. Turn it on there if your assistant can’t find the abilities.

Will this slow my site down?

No. Tally’s embed script is only loaded on pages where a form is actually rendered, and the form iframe is lazy-loaded. If you turn on Remember UTM parameters, a few lines of inline JavaScript are added to every page so the parameters are kept from the page the visitor lands on; no extra file is loaded.

Where is the source code for the block?

The block editor script in build/ is compiled from the files in src/, which are included in the plugin. To rebuild it, run npm install and then npm run build in the plugin folder. The build uses @wordpress/scripts, as listed in package.json.

Reviews

September 29, 2026
This plugin is very simple and easy to use. The block settings are straightforward, and the popup and slide-in options are nice bonus too. Does exactly what I need.
Read all 1 review

Contributors & Developers

“Embed for Tally – Forms Block, Popup & Elementor Widget” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.1.0

  • New: a Tally Form widget for Elementor, with the same options as the block and a Style tab for the popup button.
  • New: popups and slide-ins can open on exit intent or after scrolling part of the page, as well as after a delay.
  • New: “Show only once per visitor”, “Don’t show again after submitting” and “Hide the button” for popups that open automatically.
  • New: a shortcode builder under Tally Forms Shortcode. Choose your options and copy the shortcode.
  • New: optional conversion tracking for Google Analytics, Google Tag Manager and Meta Pixel (Tally Forms Advanced).
  • New: optional UTM memory, so forms on later pages still receive the visit’s UTM parameters.
  • New: optional “Load form” placeholder that keeps Tally from loading until the visitor clicks.
  • New: optional WordPress Abilities for AI assistants (WordPress 6.9+): get embed code, insert a form into a post, list posts with forms. Off until you turn it on under Tally Forms Advanced.
  • Improvement: a clearer settings page, with a separate Advanced page for the optional features.
  • Fix: forms added with Elementor’s Shortcode widget now appear in Elementor’s editor, not only on the published page.
  • New: a link to leave a review on the settings page, and a one-time review request on the plugin’s screens a week after your first form goes live.

1.0.1

  • Fix: popup and slide-in buttons now line up with other buttons placed next to them.
  • Improvement: the “Theme” button style now uses your theme’s button design, including its shape and hover state.
  • Fix: the “Basic” button style now looks the same in every theme. Some themes, such as Twenty Twenty-One, restyled it.
  • Fix: the “Basic” button’s keyboard focus outline is now visible on light backgrounds.

1.0.0

  • Initial release: Tally Form block, [tally_form] shortcode, inline, popup and slide-in modes, settings page.