PageSourceSearch

https://reviewsjet.com/assets/agencies-DGg4O9_O.js

js reviewsjet.com collected 2026-09-24 08:39:06 UTC 14,771 bytes, 2 lines download raw bytes

1import{P as j,o as v,p as N,q as x,j as e,e as i,r as k,l as o,g as T,H as a,M as A,T as n,h as u,t as g,i as w,B as c,n as h,u as p,S as E,v as R,m as b,w as y,a as l,x as P,y as I,z as S,A as W}from"./index-BXeh8s_H.js";import{W as _}from"./WidgetShowcase-DKMLu7v9.js";const f=[{id:"multiple-sites",label:"Several client sites under one login",supported:!0,detail:"One login can own several workspaces. In practice that happens by installing the ReviewsJet app on each client’s Wix or Webflow site — opening ReviewsJet from that site’s dashboard takes you into that site’s reviews."},{id:"all-layouts-free",label:"Every layout on every plan",supported:!0,detail:`All ${x.toLowerCase()} widgets are available on the free plan. There is no layout you have to upgrade to reach, which matters when you are building a client site before anybody has paid for anything.`},{id:"own-sources",label:"Each client’s own review sources",supported:!0,detail:"Every workspace connects its own listings, so a hotel client’s Tripadvisor and a law firm’s Google never mix."},{id:"auto-sync",label:"Reviews that keep themselves up to date — on Advanced",supported:!0,detail:"Automatic daily sync and auto-publish start at Advanced. Below that a client’s reviews refresh when somebody presses the button, which is fine for one site and real work across ten. This is the line worth knowing before you standardise on the free plan."},{id:"remove-branding",label:"Hiding the ReviewsJet mark",supported:!0,detail:'Any paid plan removes the small "Powered by ReviewsJet" line, on every client site you put it on. That is the whole of it: the widget is not otherwise brandable, and nothing else about ReviewsJet carries your name.'},{id:"white-label",label:"White labelling",supported:!1,detail:"Beyond hiding the ReviewsJet mark on a paid plan, there is none. No custom domain, no rebranded dashboard, nothing a client logs into under your name, and no reseller programme to join."},{id:"client-portal",label:"Client portals",supported:!1,detail:"There is no client-facing view. If a client needs to moderate their own reviews, they need their own login to that workspace."},{id:"team-seats",label:"Team seats and invitations",supported:!1,detail:"A workspace has one owner and no way to invite anybody. There is no seat model and no permissions."},{id:"templates",label:"Reusable widget templates",supported:!1,detail:"Widget settings live on the widget, in one workspace. You cannot save a look and apply it to the next client — you set it again, which takes a minute."},{id:"agency-billing",label:"Consolidated billing",supported:!1,detail:"Eac
1h workspace has its own plan and its own subscription. There is no single agency invoice and no volume pricing."},{id:"agency-dashboard",label:"A dashboard across all clients",supported:!1,detail:"There is no screen that shows every client at once, and no switcher between them inside the app."}],L=f.filter(s=>s.supported),C=f.filter(s=>!s.supported),O=[{name:"Ashcombe House",kind:"Boutique hotel",platform:"squarespace",sources:["tripadvisor","google"],widget:"Masonry on the rooms page"},{name:"Marlow & Fitch",kind:"Law firm",platform:"webflow",sources:["google"],widget:"Carousel above the contact form"},{name:"Northgate Cycles",kind:"Bike shop",platform:"wordpress",sources:["google","yelp"],widget:"Grid on the homepage"}],B=["free","professional","advanced"];function J(s){return j[s].limits}function F(s){return v.find(t=>t.id===s)}function G(s){return N(s)}function M(){return e.jsxs(e.Fragment,{children:[e.jsxs(i,{size:"tight",className:"pb-0",children:[e.jsx(k,{trail:[{name:"Home",path:"/"},{name:"For agencies",path:"/agencies"}]}),e.jsxs(o,{className:"mt-8",children:[e.jsx(T,{children:"For agencies and freelancers"}),e.jsxs(a,{level:1,size:"hero",className:"mt-4",children:["Stop building a reviews section ",e.jsx(A,{children:"from scratch"})," on every client site."]}),e.jsx(n,{size:"lead",className:"mt-6",children:"Every client has reviews somewhere — Google, Trustpilot, Yelp, Tripadvisor, Airbnb — and every client wants them on the site you are building. ReviewsJet turns that from an afternoon of bespoke work into ten minutes and one line of code."}),e.jsxs("div",{className:"mt-9 flex flex-col gap-3 sm:flex-row sm:items-center",children:[e.jsx(u,{href:w("/signup"),size:"lg",onClick:()=>g("agency_cta_clicked",{surface:"agencies-hero"}),children:"Start free on your next build"}),e.jsx(c,{to:h,variant:"secondary",size:"lg",children:"Try the widget builder"})]}),e.jsx("p",{className:"mt-5 text-caption text-ink-500",children:"No card, no sales call. Every layout works on the free plan, so you can build the section before the client has paid for anything."})]})]}),e.jsxs(i,{"aria-labelledby":"roster-heading",children:[e.jsxs(o,{children:[e.jsx(a,{level:2,id:"roster-heading",children:"Three clients, three platforms, one workflow."}),e.jsx(n,{className:"mt-4 max-w-prose",children:"Each client site is its own ReviewsJet workspace with its own review sources and its own widget. What does not change from client to client is what you have to do."})]}),e.jsx("ul",{className:"mt-10 grid gap-4 lg:grid-cols-3",children:O.map(s=>e.jsxs("li",{className:"flex flex-col rounded-xl bg-white p-5 ring-1 ring-ink-150",children:[e.jsx("p",{className:"text-title text-ink-950",children:s.name}),e.jsx("p",{className:"mt-1 text-caption text-ink-500",children:s.kind}),e.jsxs("dl",{className:"mt-5 space-y-3 border-t border-ink-100 pt-4 text-body-sm",children:[e.jsxs("div",{className:"flex items-baseline justify-between gap-3",children:[e.jsx("dt",{className:"text-ink-500",children:"Built on"}),e.jsx("dd",{className:"text-ink-900",children:p[s.platform].name})]}),e.jsxs("div",{className:"flex items-baseline justify-between gap-3",children:[e.jsx("dt",{className:"text-ink-500",children:"Reviews from"}),e.jsx("dd",{className:"flex items-center gap-1.5",children:s.sources.map(t=>e.jsx(E,{source:t,className:"size-4"},t))})]}),e.jsxs("div",{className:"flex items-baseline justify-between gap-3",children:[e.jsx("dt",{className:"shrink-0 text-ink-500",children:"Shows"}),e.jsx("dd",{className:"text-right text-ink-900",children:s.widget})]})]})]},s.name))}),e.jsx("div",{className:"mt-8 max-w-text rounded-lg bg-ink-25 px-4 py-3.5 ring-1 ring-ink-150",children:e.jsxs("p",{className:"text-body-sm text-ink-600",children:[e.jsx("span",{className:"font-medium text-ink-950",children:"One workspace per client site."})," ","Installing the ReviewsJet app on a client’s Wix or Webflow site adds that site under your login, and opening ReviewsJet from that site’s dashboard takes you straight into it. On WordPress, Squarespace and anywhere else, each site is its own ReviewsJet account. There is no switcher and n
1o combined dashboard."]})})]}),e.jsxs(i,{tone:"raised","aria-labelledby":"workflow-heading",children:[e.jsxs(o,{children:[e.jsx(a,{level:2,id:"workflow-heading",children:"What it replaces."}),e.jsx(n,{className:"mt-4 max-w-prose",children:"The bespoke version of this is an API you have to get keys for, a component you have to build, a cache you have to invent and a client who emails you when a review is out of date. This is the other version."})]}),e.jsx("ol",{className:"mt-10 grid gap-8 md:grid-cols-4",children:[{n:"01",title:"Paste their listing",body:"Their Google, Trustpilot, Yelp, Tripadvisor or Airbnb page. The reviews come across."},{n:"02",title:"Publish the good ones",body:"Nothing appears on the site until you say so. Bulk-publish what works, leave the rest."},{n:"03",title:"Style it to the design",body:`Colours, border, radius, what each card shows. ${x} layouts, all on the free plan.`},{n:"04",title:"Paste one line",body:"Or install the app on Wix and Webflow. New reviews appear without touching the site again."}].map(s=>e.jsxs("li",{children:[e.jsxs("p",{className:"flex items-baseline gap-3",children:[e.jsx("span",{className:"nums text-body-sm font-semibold text-ink-300",children:s.n}),e.jsx("span",{className:"text-title text-ink-950",children:s.title})]}),e.jsx("p",{className:"mt-2 max-w-prose text-body-sm text-ink-600",children:s.body})]},s.n))})]}),e.jsxs(i,{"aria-labelledby":"result-heading",children:[e.jsxs(o,{children:[e.jsx(a,{level:2,id:"result-heading",children:"What lands on the client’s site."}),e.jsx(n,{className:"mt-4 max-w-prose",children:"The real widget, styled to the design you are already building. Not a third-party badge dropped into a corner."})]}),e.jsx("div",{className:"rj-canvas mt-10 rounded-xl p-4 ring-1 ring-ink-150 sm:p-8",children:e.jsx(_,{type:"masonry",reviews:R("tripadvisor").reviews.slice(0,6)})}),e.jsxs("div",{className:"mt-6 flex flex-col gap-3 sm:flex-row sm:items-center",children:[e.jsx(c,{to:h,children:"Build one now, free"}),e.jsxs(c,{to:"/widgets",variant:"secondary",children:["See all ",b," layouts"]})]})]}),e.jsxs(i,{tone:"raised","aria-labelledby":"pricing-heading",children:[e.jsxs(o,{children:[e.jsx(a,{level:2,id:"pricing-heading",children:"What a client site costs."}),e.jsx(n,{className:"mt-4 max-w-prose",children:"Per site, not per agency — each client’s workspace has its own plan. Most agencies put the free plan on a build and let the client decide whether to upgrade once they can see it working."})]}),e.jsx("div",{className:"mt-10 overflow-x-auto",children:e.jsxs("table",{className:"w-full min-w-[34rem] border-collapse text-left",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-ink-200",children:[e.jsx("th",{scope:"col",className:"py-3 pr-4 text-caption font-semibold text-ink-950",children:"Plan"}),e.jsx("th",{scope:"col",className:"py-3 pr-4 text-caption font-semibold text-ink-950",children:"Per month"}),e.jsx("th",{scope:"col",className:"py-3 pr-4 text-caption font-semibold text-ink-950",children:"Published reviews"}),e.jsx("th",{scope:"col",className:"py-3 pr-4 text-caption font-semibold text-ink-950",children:"Review sources"}),e.jsx("th",{scope:"col",className:"py-3 text-caption font-semibold text-ink-950",children:"Syncs daily"})]})}),e.jsx("tbody",{children:B.map(s=>{const t=J(s),d=F(s);return e.jsxs("tr",{className:"border-b border-ink-100",children:[e.jsx("th",{scope:"row",className:"py-3.5 pr-4 text-body-sm font-medium text-ink-950",children:d?.name??s}),e.jsx("td",{className:"nums py-3.5 pr-4 text-body-sm text-ink-700",children:d&&d.monthly>0?`$${d.monthly.toFixed(2)}`:"$0"}),e.jsx("td",{className:"nums py-3.5 pr-4 text-body-sm text-ink-700",children:y(t.reviews)}),e.jsx("td",{className:"nums py-3.5 pr-4 text-body-sm text-ink-700",children:y(t.integrations)}),e.jsx("td",{className:"py-3.5 text-body-sm text-ink-700",children:G(s)?"Yes":e.jsx("span",{className:"text-ink-500",children:"Manual refresh"})})]},s)})})]})}),e.jsxs("p",{className:"mt-4 max-w-prose text-caption text-ink-500",children:["All ",b," layouts work on every plan, including free. Any paid plan removes the small “Powered by ReviewsJet” line from the widget."," ",e.jsx(l,{to:"/pricing",className:"font-medium text-accent-600 underline decoration-accent-200 underline-offset-[3px] hover:text-accent-700",children:"Full pricing"}),"."]})]}),e.jsx(i,{"aria-labelledby":"limits-heading",children:e.jsxs("div",{className:"grid gap-10 lg:grid-cols-[minmax(0,1fr)_minmax(0,1.15fr)] lg:gap-16",children:[e.jsxs("div",{children:[e.jsx(a,{level:2,id:"limits-heading",children:"What ReviewsJet is not."}),e.jsx(n,{className:"mt-4 max-w-prose",children:"You evaluate tools for a living, so here is the part most pages leave out. ReviewsJet is a per-site product with an agency-shaped use case, not an agency platform — and if any of the following is a requirement, it is the wrong tool."}),e.jsx(n,{className:"mt-4 max-w-prose",children:"None of this is on a roadmap we are prepared to promise. If it changes, this page changes."})]}),e.jsx("div",{children:e.jsx("ul",{className:"space-y-5",children:C.map(s=>e.jsxs("li",{className:"flex gap-3.5",children:[e.jsx("svg",{viewBox:"0 0 20 20","aria-hidden":!0,
1className:"mt-1 size-4 shrink-0 text-ink-300",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",children:e.jsx("path",{d:"M5 5l10 10M15 5L5 15"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-body-sm font-medium text-ink-950",children:s.label}),e.jsx("p",{className:"mt-1 max-w-prose text-body-sm text-ink-600",children:s.detail})]})]},s.id))})})]})}),e.jsxs(i,{tone:"raised","aria-labelledby":"does-heading",children:[e.jsx(o,{children:e.jsx(a,{level:2,id:"does-heading",children:"What it does do."})}),e.jsx("ul",{className:"mt-10 grid gap-8 md:grid-cols-2 lg:grid-cols-3",children:L.map(s=>e.jsxs("li",{children:[e.jsx("p",{className:"text-title text-ink-950",children:s.label}),e.jsx("p",{className:"mt-2 max-w-prose text-body-sm text-ink-600",children:s.detail})]},s.id))})]}),e.jsxs(i,{"aria-labelledby":"links-heading",children:[e.jsx(a,{level:2,id:"links-heading",size:"title",children:"Where to start"}),e.jsxs("div",{className:"mt-6 grid gap-8 sm:grid-cols-2 lg:grid-cols-4",children:[e.jsx(m,{title:"Your client’s reviews",children:P.map(s=>e.jsx(l,{to:I(s),className:r,children:s.name},s.slug))}),e.jsx(m,{title:"The site you are building",children:["wix","webflow","wordpress","squarespace"].map(s=>e.jsx(l,{to:`/for/${p[s].slug}`,className:r,children:p[s].name},s))}),e.jsxs(m,{title:"Layouts",children:[S.slice(0,4).map(s=>e.jsx(l,{to:W(s),className:r,children:s.seoName},s.slug)),e.jsxs(l,{to:"/widgets",className:r,children:["All ",x]})]}),e.jsxs(m,{title:"Try it without an account",children:[e.jsx(l,{to:h,className:r,children:"Widget builder"}),e.jsx(l,{to:"/tools",className:r,children:"All free tools"}),e.jsx(l,{to:"/pricing",className:r,children:"Pricing"})]})]})]}),e.jsx(i,{tone:"ink",size:"base",children:e.jsxs(o,{children:[e.jsx(a,{level:2,className:"text-white",children:"Try it on the next site you build."}),e.jsx(n,{className:"mt-4 text-white/70",children:"Free plan, no card, no call. If it saves you an afternoon on one client site, it will save you an afternoon on all of them."}),e.jsxs("div",{className:"mt-8 flex flex-col gap-3 sm:flex-row sm:items-center",children:[e.jsx(u,{href:w("/signup"),variant:"inverse",size:"lg",onClick:()=>g("agency_cta_clicked",{surface:"agencies-close"}),children:"Start free"}),e.jsx(c,{to:h,variant:"inverse-ghost",size:"lg",children:"Build a widget first"})]})]})})]})}const r="block text-body-sm text-ink-600 underline-offset-[3px] hover:text-ink-950 hover:underline";function m({title:s,children:t}){return e.jsxs("div",{children:[e.jsx("p",{className:"text-caption font-semibold text-ink-950",children:s}),e.jsx("div",{className:"mt-3 space-y-2",children:t})]})}export{M as component};
2//# sourceMappingURL=agencies-DGg4O9_O.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.