Several shops and languages
Scan and Sign works in a single shop and in a multistore installation, and in every language of your shop. A form belongs to one shop; a link opens it in one language.
Several shops
- A form belongs to one shop. Its links open on that shop’s address, its sign-ups are stored there, and its pages show that shop’s name.
- The shop selector of PrestaShop decides what you see. With one shop selected, the module shows the forms of that shop. In “All shops” or a group of shops, the list of forms gets a Shop column and the form’s pages show its shop next to its name.
- New form in “All shops” or a group asks for the Shop of the new form.
- Each shop follows its own settings. The deletion of old sign-ups, the daily digest, the emails, the kiosk PIN and the limit of sign-ups per device use the value of the shop itself, else the value of its shop group, else the value of “All shops”, whatever shop the back office or the visitor is on.
- General is saved for the shop chosen in the shop selector, for a shop group (for the shops of the group without a value of their own), or as the default of every shop in “All shops”. Saving writes only the settings you changed. In “All shops” or a group, a setting whose value is not the same in every shop shows the note “Differs per shop: …” with the value of each shop.
- Scheduled tasks shows one block per shop, each with its own cron address and token. If your shops already had cron jobs with version 1.0.0, the old cron addresses of the shops other than the default shop stop working with version 1.0.1: the page names those shops once. Copy each shop’s new address into its cron job.
- The module must be enabled in every shop. PrestaShop enables a module shop by shop. In a shop where Scan and Sign is not enabled, the forms do not open: their QR codes and links lead to an error page. The checklist then fails its check Scan and Sign is enabled in every shop that has active forms and names the shop, and the Share page of a form of that shop says so too. Select the shop at the top of the back office, open Modules › Module Manager and enable Scan and Sign.
- The status line and the checklist look at the shops of your selection, and the checklist names the shops a warning is about.
- The link of the daily digest opens the sign-ups in the form’s own shop. The guided setup is the same in every shop: there is one per installation.
Languages
The back office of the module, the fixed texts of the form pages, the poster and the emails are translated into English, French, Spanish, German, Italian, Polish and Romanian. The texts of your forms are yours, per shop language:
- The cards with texts for visitors (Fields, After submit) have a button per shop language. Write the texts of each language a link uses. An empty title, button text or label uses the text of the default language.
- A new form gets its title, introduction, button, thank-you message, email texts and its first two fields in every language of the shop, from the module’s own translations.
- One link, one language. The page of a link shows no language switch: the visitor scanned the poster of their language. For a fair with visitors of several languages, make one link and one poster per language, or a kiosk per language.
- The confirmation email and the account email are written in the language of the link. The digest is written in the default language of the shop.
- When you add a language to the shop later, forms whose texts are still the module’s defaults get the new language’s texts too. Texts you wrote yourself are copied from the default language: translate them.
- A shop with one language shows no language buttons.
Questions and problems
Start with the Checklist (Overview › Checklist): most problems show there, with a link to the page that fixes them. A fault in the module never breaks a page of your shop, and never turns a stored sign-up into an error message for the visitor: it is written to Advanced Parameters › Logs instead, in a line that starts with pchscansign.
Problems
The QR code opens “This form is not available.”
- The form is switched off in the list of forms, or the link is switched off or deleted on the Share page.
- The address was typed with a mistake. Copy it again from the card of the link.
When the QR code opens your shop’s own error page, or a maintenance page, instead:
- The shop is in maintenance mode (Shop Parameters › General › Maintenance): visitors cannot reach any page, the form pages included.
- The module is disabled in the Module Manager, or, with several shops, not enabled in the form’s shop (the checklist says which shop: Several shops).
- A cache, firewall or security module, or a rule of your web server, answers addresses under
/scansign/itself. Exclude these addresses from it.
The form says that it could not be loaded, or the button stays grey
The form page asks the shop for a fresh token as soon as it opens; until then the button stays inactive. If that request fails, the page says “The form could not be loaded. Please reload the page.” Reload it. If it keeps failing, a cache or firewall in front of the shop probably blocks the request to the address that ends in /token: allow the addresses under /scansign/. Without JavaScript the page says that JavaScript is needed.
The embedded form stays blank on the other website
Your web server, your host or another module sends X-Frame-Options (or a frame-ancestors rule) with every page, and the browser refuses to show the form in a frame. The browser’s console on the other website says so. Ask your host to allow framing for the addresses under /scansign/ (Embed on another website). Check also that the embed code uses the https:// address of your shop.
The shortcode shows as text, or nothing shows
- Nothing shows: the code is unknown, or its link or form is switched off or deleted. Copy the shortcode again from the card of an active link.
- The text
[scansign code=…]shows: the module is disabled, or the text is not printed through PrestaShop’s pages, for example inside content that a module loads separately. Place the form in a CMS page or a product description instead, or ask your theme developer for the widget (Shortcode and widget in your shop). - Some blog modules copy the article text into hidden data for search engines. The shortcode text can appear there; visitors do not see it.
At the stand: “Too many sign-ups from this connection”
Many phones on the fair’s Wi-Fi share one internet address, and they reached Sign-ups per device (60 in 10 minutes after installation). Raise the limit in Settings › General for the days of the fair (General). A kiosk link has no limit.
“You are already signed up — thank you!” during a test
The duplicate check recognised your email address from a sign-up of the last 24 hours, and did not store the second one. Test with another address, or switch the duplicate check off on the After submit page while you test.
No confirmation email arrives
- Check that Confirmation email is on, and that the form has a field used as Email address of the person.
- Look at the checklist line The shop sends emails, and send a test email from Advanced Parameters › E-mail.
- Look in the spam folder. Emails from a shop with a correct sender domain (SPF and DKIM) arrive more reliably: your host can set it up.
No daily digest arrives
- The digest is sent only for a day that had sign-ups, the next day, from the hour of Send from.
- It leaves when someone uses the back office or the cron address is called. Over a weekend without either, it waits: set up the cron address (Scheduled tasks), or click Run now in Settings › Scheduled tasks.
- Check the Recipients, the spam folder, and the checklist lines Digest recipients are valid and The daily digest runs.
People are not added to the newsletter
Only people who ticked the box used as Newsletter consent are added. If they have no customer account, the Newsletter subscription module must be installed and active, and must not send its own verification email (Add to the newsletter). The After submit page and the checklist say which of these is missing.
No customer account is created
The form needs fields used as email address, first name and last name. No account is made when a registered customer already has that email address, or when the name holds characters PrestaShop refuses in customer names, such as digits.
The webhook fails
Click Send a test sign-up and read the answer. A status of 400 to 499 usually means the receiving system refused the data or the signature: check the secret there. No answer means it could not be reached within five seconds. A redirect is not followed: enter the final address. The address must start with https:// and point to the internet, not to a private network.
The numbers differ from my analytics
They count different things. The module counts every blank form shown (opens) and every stored sign-up, without cookies and without consent banners. An analytics tool counts visits by its own rules, only for visitors who accepted its cookies. Compare sign-ups with the conversions of your analytics through the UTM campaign, not opens with visits.
Frequently asked questions
Can I change the form after the posters are printed?
Yes. The QR code leads to the link, and the link to the form as it is now: questions, texts and colours can change at any time. Only deleting the link or the form stops the code.
Can one QR code open the form in the visitor’s language?
No. A link has one language, and the form page has no language switch. Make one link and one poster per language.
How many forms, links and sign-ups can I have?
As many forms and links as you like, and up to 50 fields per form. There is no limit on sign-ups and no opening or closing date: switch a form or a link off when the event is over.
Does it work without internet at the stand?
Phones use their own mobile data, so the QR code works wherever there is a mobile network. The kiosk needs a connection for every sign-up; when it drops, the kiosk says that the form could not be sent and keeps the answers so that they can be sent again.
Can a question have several answers, or ask for a file?
A dropdown takes one answer. For several answers, use one checkbox per answer. Files cannot be uploaded in version 1.0.
Do I need a captcha?
No. A signed token, a hidden field, a minimum time, a limit per device and the duplicate check keep robots out without asking visitors to solve anything (Protection against robots, without a captcha).
How do the sign-ups get into my CRM or newsletter tool?
Export the CSV, or use the webhook, directly or through Zapier, Make or n8n (Webhook). With the newsletter option, they can go to PrestaShop’s own newsletter list.
Does every sign-up become a customer?
Only when Create customer is on for the form. Otherwise sign-ups stay in the module, apart from your customers.
Where are the sign-ups stored?
In your shop’s own database. Nothing is sent to PrestaChamps or to any other service, unless you set up a webhook.
Support
Write to leo@prestachamps.com with the module’s version (shown in Help › Documentation and at the bottom of every page of the module), your PrestaShop version, what you did and what you saw. A screenshot and the lines of Advanced Parameters › Logs that start with pchscansign help us answer quickly.