> For the complete documentation index, see [llms.txt](https://docs.zigpoll.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zigpoll.com/faq/embedding-surveys-on-specific-pages.md).

# Embedding Surveys on Specific Pages

How to embed Zigpoll surveys on specific pages of your website

By default, Zigpoll surveys can appear across your entire site. But you often want to target a specific page or embed a survey inline within your content. Here's how.

### How do I show a survey only on a specific page?

Open the survey and go to **Settings → Delivery → Locations**. Add a rule, choose how it matches (**Matches Exactly**, **Starts With**, **Ends With** or **Contains**), and type the page path, such as `/products`. Type a path, not a full URL. Locations applies to on-site surveys, exit intent surveys, and page embeds placed with the CSS Selector method.

{% content-ref url="/pages/-LrVM-QyPUockueYu4xQ" %}
[Delivery Settings](/polls/visibility-settings.md)
{% endcontent-ref %}

{% hint style="info" %}
Page rules only cover your storefront. Shopify checkout, Thank You and Order Status pages are placed with Shopify's checkout editor, not Locations. An exclusion rule won't hide a checkout block. See [Shopify checkout limits](/installation/shopify-checkout-limits.md).
{% endhint %}

### Can I embed a survey directly into a page instead of using a popup?

Yes. Set the survey's format to **Page Embed** under **Settings → Delivery → Format**, then pick a method under **Embed Settings**:

* **Copy & Paste Snippet** — a single self-contained code block you paste wherever you want the survey. It doesn't need the global embed script, and it ignores page rules.
* **CSS Selector** — uses the global embed script plus a container element with a matching CSS selector. Page rules and display settings are respected.

{% content-ref url="/pages/-LZv4lzUKV\_jxUTOtPAr" %}
[Embed](/embed.md)
{% endcontent-ref %}

### Can I embed a survey on a page built with PageFly, GemPages, or another page builder?

Yes. In most page builders, add a custom HTML or code section and paste the Zigpoll embed snippet.

If the survey still doesn't appear, make sure:

* The embed code is placed correctly within the HTML block
* The page builder isn't stripping out script tags
* The Zigpoll app embed is enabled in your Shopify theme

### Can I put multiple surveys on the same page?

Yes. Both inline embedding methods support multiple surveys on the same page. With the **Copy & Paste Snippet** method, each snippet is fully independent — paste as many as you need. With the **CSS Selector** method, use a unique selector for each survey. See the [Embed docs](/embed.md) for details.

### Can one survey be both a pop-up and an embed?

No. Each survey has one delivery format — **On-site Survey**, **Page Embed**, **Exit Intent**, **API** and so on. To collect the same questions both ways, duplicate the survey and give each copy its own format. Each copy collects its own responses.

### My embedded survey isn't showing up

Work through these in order. Your browser's developer console helps: Zigpoll logs messages there that start with `[Zigpoll]`.

1. **The script isn't on the rendered page.** View the page source of the live page, not your editor, and search for `cdn.zigpoll.com/static/js/main.js`. If it's missing, your page builder, theme or tag manager isn't outputting it. On Shopify, make sure the Zigpoll app embed is turned on in your theme.
2. **The target element isn't there.** For the CSS Selector method, the page needs an element matching the survey's **Selector**. If none matches, Zigpoll also tries `#zigpoll-embed-target`, then `#zigpoll-embed-` followed by the survey ID. When it finds nothing, the console says *"The target element for this embedded poll was not found"* and names what it looked for. Check for typos — a selector for an id starts with `#`, one for a class with `.`.
3. **The element is added after the page loads.** Zigpoll looks for the element when the survey renders. If your app, page builder or tag manager inserts the container later, run `window.Zigpoll.refresh();` after it's on the page. Single-page apps should do the same after every route change.
4. **The page doesn't match the survey's Locations.** CSS Selector embeds follow **Settings → Delivery → Locations**. Copy & Paste Snippets ignore page rules.
5. **The survey isn't live,** or your account has reached its monthly response limit. When the limit is reached, surveys stop showing everywhere until the limit resets or you upgrade.
6. **Another script is interfering.** Look for JavaScript errors in the console, and try disabling page-speed or script-optimizer apps.

{% content-ref url="/pages/-LZu\_qbdcyhmya9uPukb" %}
[Embed Code](/accounts/embed-code.md)
{% endcontent-ref %}

### Can I control where the survey widget appears on the page?

Yes. For on-site surveys, pick a position (bottom-left, bottom-right, center, and so on) on **Settings → Design → On-Site**, under **Layout**.

{% content-ref url="/pages/-LZuh9ZipIrR3dhmF3EF" %}
[Design and styling](/polls/display-settings.md)
{% endcontent-ref %}

{% hint style="info" %}
Having trouble with an embed? Send us your page URL at <support@zigpoll.com> and we'll help debug it.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.zigpoll.com/faq/embedding-surveys-on-specific-pages.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
