Skip to content

Setup options

Markdown

The ways to connect Sayproof to your site, and choosing the option that suits your site.

Connecting Sayproof to a site involves two independent tasks, and both are required:

  1. Display. The product page shows reviews and opens the review form. This is done in the page’s code.
  2. Order transfer. Orders and deliveries reach Sayproof: on stores that run on Akinon, Shopify or WooCommerce, Sayproof reads them from the platform itself; on other stores, your store system sends them. The right to write a review and the invitation emails are based on this data; without order transfer, nobody can write a review.

Whichever display option you choose, order transfer works the same way: Akinon orders, Shopify orders, WooCommerce orders or Sending orders and deliveries.

If you also want to show reviews written for your store on marketplaces, this is a separate, optional feature that you connect in the panel without adding code to your site: Marketplace reviews.

Option Where reviews are prepared Reviews in the page’s first response Requirements When it fits
Script The visitor’s browser No; they arrive once the script has loaded A <script> tag and a container Any site; the quickest start
Server-side rendering (SSR) + script Your store’s server fetches ready-made HTML from Sayproof; the script then takes over Yes, including text and structured data (JSON-LD) A server key and a few lines of server-side code Sites where search visibility matters (recommended)
Headless You fetch the data and display it with your own components; the script only runs the review writing flow Up to you Development effort; you display the required elements yourself Brands with their own design system

All three options use the same script and the same endpoints. You can start with the script and move to SSR or headless use later; the container on the page and the site key stay the same.

Project SSR Script
Next.js App Router (for example Akinon Next) Next.js page and ready kit The same kit, without an SSR response
Django or Jinja templates Django / Jinja page and ready kit The same kit, without a server key
Other sites Node.js, Python and PHP examples on the Server-side rendering page Script page

The ready kits are copied into the store project; they need no package installation. In the panel, the Integration › Showing reviews tab shows, for the chosen Setup route, the values for the setup (site key, Sayproof address, script address or channel code) and the Step-by-step setup (docs) button that opens the matching page of this documentation. The code samples are in this documentation.

  • If you cannot run code on your site’s server (a hosted site builder, a tag manager only): the script.
  • If you can run code on the server: SSR + script. The review text is part of the page source, so search engines and link previews see the content without waiting for the script.
  • If you want to decide the entire look of the review section yourself: headless. If you only want to change how the default component looks, see Customising first; CSS is enough in most cases.

Display works in layers; if one layer fails, the next one takes over and the rest of the page is not affected:

  1. If the server-rendered HTML arrived, reviews are visible in the first response; once the script loads, it takes over the interaction.
  2. If the server call does not respond in time, the page does not wait; the script fetches the reviews in the browser.
  3. If the script cannot get the reviews either, the data-review-failed attribute is added to the container. The rest of the page is unaffected; you can use this attribute to hide the container.

Give the server call a short timeout (1.5 seconds is recommended). Sayproof being unreachable must never delay your page.

If the customer is signed in to your site, the review form can open without asking for an order number. To do this, your server asks Sayproof, using the signed-in email address, whether the customer can review this product. In the same way, the items of an order can be reviewed inside the order detail page. For details, see Signed-in customers.

  1. In the panel, create the channel, verify the domain and create the keys: Channel, domain and keys.
  2. Start the order transfer and send a few test orders.
  3. Add the review display to the product page.
  4. Check the “Seen on your site?” section on the Integration › Showing reviews tab in the panel and the Connection log screen.
  5. Write a review with a delivered test order; the review appears in the Awaiting approval list.

If a developer does the setup, you don’t need to open a panel account for them: from Integration › Share with a developer in the panel you can send a time-limited link to a setup guide with your channel’s addresses, site key and code samples. The guide contains no secret key.

For a step-by-step list, see Quick setup.