Docs

Get started with FeedWix

There are three ways to collect feedback with FeedWix, depending on whether you can install anything on the site you're reviewing.

Method 1

Script-tag widget

Paste this snippet just before the closing </body> tag on any site — plain HTML, Next.js, WordPress, Webflow, anything that renders a page. There are no other install steps.

HTML
<script async src="https://feedwix.outshade.com/widget.js" data-feedwix="YOUR_PROJECT_KEY"></script>

The script is tiny and loads lazily: reporters see a floating feedback button, and the screenshot and annotation code only downloads when someone actually opens it. The widget renders inside a Shadow DOM, so your site's CSS can't break it and its styles never leak onto your page.

Get your project key

Open your project in the dashboard and go to Project → Install. You'll find the ready-to-paste snippet with your key already filled in — replace YOUR_PROJECT_KEY above with it. The key only identifies which project feedback belongs to; it's designed to be public, so shipping it in your HTML is safe.

Domain allowlist

FeedWix only accepts submissions from domains you've allowlisted. Add your production and staging domains in Project → Install — requests from any other origin are rejected, so nobody can spam your inbox by copying your key onto another site.

What gets captured

Alongside the reporter's description, every widget submission automatically includes:

Annotated screenshot
Rendered in the reporter's browser via DOM rasterization — no external screenshot service ever sees your page.
Page URL
The exact page the reporter was on when they submitted.
Browser & OS
Browser name and version plus operating system, so you can reproduce reliably.
Viewport & screen size
Both the window size and the physical screen size — layout bugs love this.
Recent console errors
The last few JavaScript console errors (capped at 10), attached automatically.

If screenshot capture fails — for example, cross-origin images taint the canvas — the submission still goes through without it, and the failure is noted in the metadata.

Reporter privacy

The widget captures nothing until the reporter presses submit — no session recording, no keystroke logging, no tracking cookies on your site. Name and email are optional fields the reporter fills in themselves, and the screenshot is rendered entirely in their browser. Tell your users what's collected; this section is a good starting point.

Review projects: images & video

Not everything you ship is a website. For creatives and cut-downs, create a review project instead:

  1. Upload your assets — PNG, JPG, WebP, GIF and SVG images, or MP4 and WebM video.
  2. Copy the share link and send it to teammates or clients. Guests comment straight from the link — no account needed.
  3. Reviewers click the exact pixel to pin a comment on images, or drop comments anchored to timestamps on video. Everything lands in your inbox with statuses and assignees.

Method 2

Capture by URL

Don't have install access to a site — or just want to review the live page right now? Paste its URL into a Review board and FeedWix renders a full-page screenshot server-side, no widget or code changes required. The capture lands as a review asset alongside anything you've uploaded, ready for the same pinned-comment annotation described above.

Find it on a project's Review tab, next to the upload zone.

Method 3

Chrome extension

Ideal for reviewing sites you don't control — competitor sites, a client's staging environment, anywhere you can browse but can't install a script tag. The extension injects the same widget on any page with one click; it's not yet on the Chrome Web Store, so install it unpacked:

  1. Clone the FeedWix repo and build the extension: node scripts/build-extension.mjs produces a ready-to-load extension/dist/ folder. Source lives at github.com/GuttaManish/Feedwix/tree/main/extension.
  2. Open chrome://extensions, enable Developer mode, then click Load unpacked and select extension/dist.
  3. Click the FeedWix toolbar icon once to open its settings, paste your App URL and project widget key (the same key from the snippet above), and save.
  4. Click the icon again on any page you want feedback on — the widget pill appears immediately, with the same annotation and screenshot flow as the script-tag install.

Webhooks

On Pro and Team plans, FeedWix can POST new feedback to any endpoint you register in workspace settings. Each delivery is signed with HMAC-SHA256 over the raw request body using your webhook secret, and the hex digest is sent in the X-FeedWix-Signature header. Always verify it before trusting a payload:

Node.js — verify the signature
import crypto from "node:crypto";

// rawBody: the exact request body string, before any JSON parsing
const expected = crypto
  .createHmac("sha256", process.env.FEEDWIX_WEBHOOK_SECRET)
  .update(rawBody)
  .digest("hex");

const received = request.headers.get("X-FeedWix-Signature");
const valid =
  received !== null &&
  crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(received));

Compute the HMAC over the raw body exactly as received — parsing and re-serializing JSON first will change the bytes and the check will fail.

Ready to try it on your site?

Create a project, grab your key, paste the snippet — feedback starts landing in your inbox.