Embed for Tally – Forms Block, Popup & Elementor Widget
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
- In Tally, open your form, go to Share and copy the share link (it looks like
https://tally.so/r/mRoDv3). - In the WordPress editor, add the Tally Form block. Type “tally” in the block search to find it.
- Paste the link and click Embed. The live form appears in the editor.
- 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
dataLayerand Meta Pixel (fbq). The plugin also sends atally_form_submittedevent 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
nameandemail, 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
Installation
- Upload the plugin folder to
/wp-content/plugins/or install it from the Plugins screen. - Activate the plugin. The Get started page opens: paste your form’s share link there if you like, and create a page with the block or the Elementor widget in one click.
- Or add the Tally Form block to any post or page (or the Tally Form widget in Elementor) and paste your form’s share link, or use the
[tally_form id="..."]shortcode. - Optionally set defaults under Tally Forms Settings.
Screenshots

The Tally Form block shows the live form in the editor, with its options in the block sidebar.

Popup and slide-in options: button text and style, popup width, and when the form opens (on click, after a delay, on exit intent or after scrolling).

A popup form on the front end, opened from a button on the page.

The Tally Form widget in Elementor, with the live form in the editor.

Tally Forms → Shortcode: choose your options and copy the finished shortcode.

Tally Forms → Settings: the default form and site-wide defaults for every form.

Tally Forms → Advanced: optional conversion tracking, UTM memory, the "Load form" placeholder, prefill for logged-in visitors, a thank-you page and AI assistant support.

Tally Forms → Get started: save your form once and create a page with the block or the Elementor widget.
Faq
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.
Yes. Forms are built at tally.so; a free Tally account is enough.
No. The block and the widget work as soon as you paste a form link. The Get started page under the Tally Forms menu is a shortcut: save your form there once and every new block and widget starts with it, and a shortcode without an id uses it. Each block, widget or shortcode can still use a different form.
Add the Tally Form block, paste your form link, and choose Button that opens a 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"].
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"].
Yes. Choose Slide-in in the corner in the block sidebar, or use mode="slidein" in the shortcode. The form opens in a small panel in the bottom corner of the page.
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.
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.
Reviews
Really simple and easy to use
By redfisher on 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.
Changelog
1.2.0
- New: a Get started page that saves your form once (new blocks and widgets start with it, and a shortcode without an id uses it) and creates a page with the block or the Elementor widget in one click. It opens once after activation.
- New: choose the display mode by picture in the block sidebar: on the page, a button that opens a popup, or a slide-in in the corner.
- New: optional “Fill in name and email for logged-in visitors”, passed to the form as hidden fields (Tally Forms Advanced).
- New: optional thank-you page after a submission (Tally Forms Advanced).
- Improvement: the plugin’s own icon in the admin menu and on its screens.
- Improvement: if another plugin already uses the
[tally_form]shortcode, the plugin leaves it alone and says so on the Shortcode page. - Change: the Tally Forms menu now opens on Get started; Settings has its own entry.
- Change: the Plugins screen row also links to the plugin’s site.
- Fix: saving the Advanced page first on a fresh site no longer switches “Auto height” off.
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.