Rinforza
Book a walkthrough

For anyone who sells, in store or online

The marketing behind every sale, finally visible.

Rinforza joins your sales records, from the register, the webstore or both, to your email, texts and ad accounts, so every sale traces back to the message that started it.

Furniture Fair is our first customer. Every figure marked Furniture Fair is theirs, with its dates. The screens use an example store, so no real shopper's details are on a public page.

coastal.rinforza.ai / dashboard Sample data · this one works

Dashboard

Showroom and website, in one place.

Data as of today, 1:05 PM
Showroom sales synced 6 h ago
Customers
5,000
148 first bought last month
Sales
$742,300
+4.1% on the 30 before
Reachable by email
4,612
1,180 agreed to texts
Sent to Google and Meta
This morning
every in-store sale, scrambled
——
ShowroomSales, 12 monthsTicketsAverage ticketvs last year
Wilmington46% of the chain$4,016,4812,712$1,481+6.2%
Jacksonville31% of the chain$2,706,7591,736$1,559-3.4%
Myrtle Beach23% of the chain$2,008,2401,302$1,542+11.8%

Real results · Furniture Fair, our first customer: seven showrooms in North Carolina

53,000+
Customers
One record each, from the till, the webstore and the sign-up form. September 2026.
$1,001,140
In-store sales sent to Meta
719 purchases, 11 Aug to 6 Sep 2026, in daily batches Meta acknowledged. Received, not matched to an ad.
1,721 of 1,777
Texts confirmed delivered
Message by message, read the afternoon of the 6 Sep 2026 send.
10 of 13
Campaigns with buyers
In store and online, within 14 days of sending, real audiences only. Measured 7 Sep 2026.

Summer Savings launch, 6 Aug 2026: 38 recipients bought $57,658.40, in store and online, within 14 days: sales tied to that campaign (measured 7 Sep 2026, every recipient counted). One purchase can be tied to two campaigns, so campaign figures are never added up.

Google Ads credited 10 in-store purchases worth $21,961.70 to ad clicks between 17 Jun and 14 Sep 2026 (read 18 Sep 2026). That is the share Google could match to a click on Furniture Fair's ads, not all of their store sales, and it rises as Google matches more.

A sale counts wherever it happens.

Most marketing software only counts what happens on a website, so every sale made in person goes missing. Rinforza starts from your sales records, in store and online, and works backwards to the message.

Fig 01 · Where the sale happens · example retailer

Built on your sales records

Your sales records are the source of truth, and everything else is measured against them.

Fig 02 · How a sale is credited

Counted from your ledger

Not clicks, not a platform's opinion. A buyer who never clicked still counts.

Fig 03 · How sales are tied

Never added up

One purchase can be tied to two campaigns, so each campaign shows its own tied sales and nothing is totalled.

01 · The customer record

One person, not three rows in three systems.

Your point of sale, your webstore and your sign-up form each hold a piece. Rinforza merges them nightly and keeps every receipt behind the record.

coastal.rinforza.ai / customersSample data

Customers

5,000 people · 7,340 source records merged

Rebuilt last night 2:40
AllShowroomWebLapsedSearch
CustomerBuysOrdersSpent, 5 yrsLast purchase
MAMarguerite AldermanShowroom, web9$28,4104 days ago
TBTheo BrightwellShowroom6$19,8703 weeks ago
NONadia OkonkwoShowroom5$17,2402 months ago
RCRoy CastellanosWeb4$9,6556 days ago
PRPriya RaghunathanShowroom3$8,12011 months ago
Coastal's export held Marguerite three times: a maiden name, a typo in the email, and a website order under her husband's address. One customer now, with all nine receipts attached.
  • A nightly export from your point of sale, a connection to your webstore, or both, is enough. No new checkout system, no retraining your staff.
  • Every source record stays attached, so you can always see where a detail came from and undo a bad merge.
  • House and trade accounts are marked and kept out of every marketing count, so your averages are real.
  • Delivery, service and financing charges are separated from merchandise, so a customer's spend is not flattered.

What a merged record holds

PurchasesEvery ticket, line by line, by departmentFrom the register
ConsentWhat they agreed to, when, and whereEvidence kept
MessagesEverything you have sent themFull history
WebsitePages viewed once they are known to youMatched

Consent, kept like payment data

Texting somebody who never agreed costs $500 to $1,500 a message. Rinforza stores the wording each person accepted, the date and the source, enforces it at the moment of sending, and never lets a list include somebody who has opted out.

Emailable

4,612

Not unsubscribed

Textable

1,180

Agreed in writing

Do not contact

388

Honoured for good

Pick one to see what it covers.

02 · Choosing and sending

Pick people by what they bought. Write it once.

Because the purchase history is already here, a list is a sentence about what people bought rather than a query about clicks.

coastal.rinforza.ai / segments / newTry the buttons

Build a list

Whose mattress is due for replacement?

Counted live
In this list
5,000
Everyone you may market to
Emailable
4,612
Opt-outs excluded
Textable
1,180
Only those who agreed
CustomerBoughtYears agoSpent
HBHarriet BlyMattress, queen8.2$1,740
DMDuane MarshMattress and base7.6$3,110
EOEllis OvertonMattress, king7.1$2,480
  • Conditions in ordinary language — department, how long ago, how much, which store, whether you have contacted them lately.
  • The count is in front of you as you build, split into who can be emailed and who can be texted, which are rarely the same number.
  • Save it once and it maintains itself as people buy, so a "lapsed" list never quietly goes stale.
  • Opt-outs and house accounts are removed by the system, not by you remembering.
coastal.rinforza.ai / campaigns / newTry the switch

Write the message

To: mattress replacement, seven years or more — 1,043 people

From Coastal Home Furnishings <news@coastalhome.example>
Seven years is a long time for a mattress, Marguerite

You bought your mattress from our Wilmington showroom in 2018. Most last about eight. Our sleep event runs through Sunday, and every set is there to try before you decide.

Unsubscribe · Coastal Home Furnishings, 1400 Market Street, Wilmington NC 28401
Every email carries an unsubscribe link, and Rinforza refuses to send one without it. Your postal address, which the law requires, must be set before email can go live.

Type it the way you would say it to a customer. Rinforza lays it out in your branding, fills in the personal details, and paces the send so your reputation with Gmail survives it.

  • Bring your own design if you have one. Paste the HTML and it goes out exactly as your designer made it.
  • Send yourself a test first, to an address outside your customer list.
  • A new sending domain starts slow and roughly doubles its daily allowance as it earns it: 400, 900, 1,800, 3,600.

03 · The payoff

Then it follows the customer into the store.

coastal.rinforza.ai / campaigns / 31Sample data

Sleep event · sent

Handed to the mail provider, 8 Sep 9:02 AM

Day 0
Delivered
1,043
99.2% of those sent
Opened
31.3%
327 people
Clicked
4.8%
50 people
This is where every other email tool stops. Opens and clicks tell you the message arrived. They cannot tell you whether anybody bought anything.
coastal.rinforza.ai / campaigns / 31Sample data

Sleep event · what it sold

Matched to your sales ledger, fourteen-day window

Window closed
Sales linked
$21,460
14 buyers
In the showroom
13
1 online
Never clicked
11
of the 14 buyers
BuyerDayShowroomWhatTotal
MAM. Alderman2WilmingtonKing mattress, base$4,290
HBH. Bly3Myrtle BeachQueen mattress$1,899
DMD. Marsh6JacksonvilleMattress, protector$2,145
EOE. Overton9WilmingtonAdjustable bases$3,180
01

Every tool can tell you it was opened.

In this example, a thousand people got the message. Thirty-one per cent opened it, five per cent clicked. On any other platform that is where the story ends — and where the argument with your owner begins.

02

Rinforza tells you who bought.

In this example, fourteen buyers, $21,460, thirteen of them in a showroom, and eleven never clicked a thing. Matched through your own sales records, by customer, not by following anybody around the internet. Those are the sales tied to the send.

04 · Automatic messages

The follow-up nobody has time to do.

Nine sequences arrive already written, timed off things that actually happen: an order, a delivery date, a year of silence.

Purchase FROM THE REGISTER Thank you, all well? DAY 7 Protect what you bought DAY 16 FROM DELIVERY Complete the room DAY 35 Consent re-checked at the moment of sending, never when they qualified THEN IT SENDS

Move your cursor over a message to see when it sends and why.

Running at Coastal today

Welcome · 7 days after a new customer612 sentOn
Thank you and check in · 7 days after a purchase704 sentOn
Protect what you bought · 16 days after delivery, or the order402 sentOn
Twelve-month win-back · a year with no purchase1,206 sentOn
Ask for a review · 12 days after delivery, or the order480 sentOn

It remembers who it reached

Each sequence keeps its own record, so nobody gets the same one twice unless you set it to repeat on every purchase. Turn one off for a holiday or a stock problem with a single switch, and it picks up where it left off.

05 · The loop

Your sales teach your advertising.

Rinforza reads what your ad accounts did, and sends your real purchases back to them. Hover any stage to see what moves.

SCRAMBLED FIRST THE SALE LANDS BACK IN YOUR OWN RECORDS Your sales EVERY SALE Rinforza ONE RECORD PER PERSON Google and Meta SENT EVERY MORNING Their bidding AIMS AT BUYERS Your store WHERE THE SALE HAPPENS

Move your cursor over a stage to see what moves, and which way.

What comes in

Google AdsSpend, clicks, and the conversions Google counts per campaignNightly
MetaSpend, clicks, what it claims it soldNightly
Google Search and MerchantWhat people searched, which products are liveNightly
Your websiteVisits, and which known customers came backContinuous

What goes back

In-store purchasesValue, order number and time of saleEvery morning
Google Customer MatchYour recent-buyers list, uploaded every dayDaily
Product feedFurniture Fair: 1,045 products (15 Sep 2026)Daily
Scrambled firstEmail, phone and name hashed; city, state and ZIP as Google requiresBy design

06 · How the matching works

How a sale in your store is matched to an ad.

Online orders reach Google and Meta through the tracking tags on your website. A sale at the register has no click to report, so Rinforza sends it and the ad platform does the matching. Here is each step, for Google and for Meta.

Google Ads

Sent every morningGoogle's credited figure inside Rinforza: coming
  1. 01

    Rinforza sends the sale

    Every morning Rinforza sends the completed in-store sales from the last seven days: each sale's merchandise value from your register, its order number and its time. The buyer's email, phone and first and last name are hashed (SHA-256) before they leave Rinforza; city, state and ZIP go as Google requires. A sale with no email or phone is not sent, because there is nothing to match on.

  2. 02

    Google looks for the buyer

    Google compares the hashed details with the accounts of people who clicked one of your ads within the click window set on your Google Ads account, which can be up to 90 days.

  3. 03

    A match ties the sale to the ad

    When Google finds the buyer, it credits that sale to the ad click at the value Rinforza sent. Each sale carries its own value.

  4. 04

    The dollars are your register's

    Google does the matching, but the dollar figure is your register's own value for that sale. It is not a Google estimate.

What Google shows is its matched share: only the buyers it could match, not all of your store sales.

Meta, for Facebook and Instagram

Sent every day
  1. 01

    Rinforza sends the sale

    Every day each completed in-store sale goes to Meta as an in-store purchase: its value, order number, time, store and products. The buyer's email, phone, name, city, state, ZIP and country, and a customer ID, are hashed before they leave Rinforza. A sale with no email or phone is not sent, because there is nothing to match on.

  2. 02

    Meta looks for the buyer

    Meta compares the hashed details with Meta accounts.

  3. 03

    A match ties the sale to the ad

    If that person saw or clicked one of your ads within the window set on the ad, Meta credits the sale to that ad at the value Rinforza sent.

  4. 04

    One setting has to be on

    This only happens on ads set to use your store's sales dataset. That is a setting in Meta Ads Manager, made by whoever runs your ads, and it is the step stores most often miss.

Furniture Fair: $1,001,140 of in-store purchases (719) sent to Meta, 11 Aug to 6 Sep 2026, in daily batches Meta acknowledged. Received, not matched to an ad.

07 · Advertising

Teach Google and Meta who actually buys.

Every morning your in-store sales go back to Google and Meta, with each buyer's email, phone and name scrambled before they leave.

coastal.rinforza.ai / insightsTry the switch

Google and Meta see your website only

Thirty days · Coastal Home Furnishings

What the platforms see
9 web orders
out of 5,750 tickets
Sent back each morning
None
in-store sales stay invisible
What bidding chases
Clicks
the cheapest visitor, not the buyer
Google AdsSees website orders onlyPartial
MetaSees website orders onlyPartial
Targeting listsBuilt by hand, out of dateManual
What leaves RinforzaNothing: in-store sales stay on the tillNone
In this example, ninety-nine per cent of what Coastal sells happens in a showroom. The platforms never hear about any of it, so they keep buying clicks.

Pick one to see what it covers.

08 · One place

All of your marketing, on one screen.

Most businesses read their marketing in five places and none of them agree. Rinforza holds the customer, the sending, the results and the ad spend together, because they are the same business.

One customer record

Till, webstore and sign-up form merged, with every receipt and every permission behind it.

One place to send from

Email and text, campaigns and automatic messages, on the same list and the same opt-outs.

Every sale from the register

Counted from your own ledger, with its window and the day it was read written beside it.

Your advertising beside your own numbers

What Google and Meta cost and claim, next to what Rinforza measured from your register. Never added together, always shown together.

One login for the person doing the work

No developer, no data team, no export to a spreadsheet to answer what happened last month.

09 · Why the numbers hold

Built so a number can always be checked.

Every figure carries where it came from and when it arrived, and the product says so plainly when it cannot tell you something.

Data health

Store sales · point of sale6 hours agoCurrent
Website orders40 minutes agoCurrent
Customer records rebuiltLast night, 2:40Current
Google business listingsNot connected yetWaiting on you

If a feed stops, the screens that depend on it say so. A number that cannot be checked is reported as unknown, never as zero.

Your data sits on its own

Each customer runs on their own instance with their own database and their own sending identity. Nothing is shared with another business — not a table, not a row, not a sending reputation. Your list is never pooled, never resold, and never used to train anything.

Every figure shows its method

How it was counted and when it was read, beside the number, so two figures are never compared across different windows.

Consent is enforced, not trusted

Unsubscribes and STOP replies apply at the moment of sending. A list cannot be built that includes them, and an import can only ever add people to the do-not-contact list.

It tells you what it does not know

Where a platform will not report something back, the screen says which question cannot be answered and why, instead of printing a confident zero.

What you want to knowEmail platformAd platformRinforza
Did the message arrive?YesNot its jobYes
Did they buy online afterwards?YesIts own versionYes
Did they buy in store?NoNoYes
Which campaign or ad was each sale tied to?Its own sends onlyIts own clicks onlyYour campaigns and the Google ad clicks Google matched
Can the ad platforms learn from in-store buyers?NoOnly what you send itSent every morning
Is consent evidence kept per person?A flagNoWording, date, source

10 · Getting started

From an export to your first send.

First

Your records come across

An export from your point of sale, a connection to your webstore, or both. We map the columns; you check what we found before anything is saved.

Then

Your sending identity

Email goes out as your own brand. We publish the records that prove it is really you, and warm the domain up before the first large send.

Then

One campaign, measured

A list built from real purchase history, a message in your voice, and the sales tied to it counted from your sales records.

After

It keeps running

Automatic messages, review requests, the website sign-up and the morning feed to Google and Meta, all working without anybody logging in.

Do we have to replace our point-of-sale system?+

No. Rinforza reads an export from what you already run. Nothing changes at your checkout, and nobody has to key anything twice.

What happens to customers who opted out years ago?+

You bring them across before the first send, and they are honoured permanently. An upload can only add people to the do-not-contact list; nothing in a file can take somebody off it.

Who writes the emails?+

You can, in plain text, and Rinforza lays it out in your branding. If you have a designer, paste their HTML instead. Nine automatic messages arrive already written.

How do I know what's working?+

Rinforza ties each sale back to what reached the buyer: the email and text campaigns they received in the 14 days before they bought, and the Google ad clicks Google matched them to. Each campaign shows its own tied sales. One purchase can be tied to two campaigns, so they are never added up.

Can Google see my in-store sales?+

Yes. Every morning Rinforza sends the last seven days of completed register sales to Google Ads: merchandise value, order number, time of sale, and the buyer's email, phone and name scrambled before they leave. Google matches them to people who clicked your ads and credits the sale to the click. A register has no click ID, which is why this is needed at all.

What does Meta get?+

The same in-store sales. Meta confirms it received them; Rinforza does not yet read back whether Meta matched them to an ad.

How is this different from what our agency reports?+

An agency reports what the ad platforms tell it, and the platforms grade their own work. Rinforza counts from your sales ledger and shows the platforms' claims beside it, never added together.

How do I know the numbers are right?+

Every figure says how it was counted and when it was read, so you can check it and nothing is compared across different windows.

Is my customers' data safe?+

Email, phone and names are hashed before they leave Rinforza, so Google and Meta never receive them readable. City, state and ZIP go unhashed because Google's specification requires it. Rinforza never learns who clicked. Each business has its own database and its own sending identity; nothing is pooled with anyone else's.

See it with your own numbers

The next step is your data, not another slide.

Send an export from your point-of-sale system or webstore and we will show you your own customers, your own sales, and what your current marketing is really producing. Nothing reaches a customer until you say so.