Digital AdsAugust 18, 202612 min read

8 of 10 Dartmouth Package Stores Have No Website. Here Is the 20-Minute Check to Run Before You Spend a Dollar on Ads.

A step-by-step ad pre-flight for Dartmouth liquor stores, performed on all ten independent package stores in town. One lapsed domain now redirects to an offshore gambling site in three hops. Run this yourself, free, in twenty minutes.

By Joshua Amado

Share
Underneath the Braga Bridge, where the city meets the highway.
Underneath the Braga Bridge, where the city meets the highway.

A package store is one of the last honest retail businesses left on the South Coast. You buy at a margin the state sets, you compete with a supermarket that can lose money on a case of beer all year, and you survive on the fact that a person driving home on Route 6 at 5:40pm will stop where it is easy to stop and where somebody knows what they drink. Several of the ten independent stores in Dartmouth have been open longer than I have been alive, and more than one of them has been in the same family since before anybody in it had heard the word internet.

That is a real business with real regulars, and none of what follows is a criticism of how any of them run it.

But most of them are being sold digital advertising right now. Meta will happily take twenty dollars to boost a post. A Google rep will call and offer to "get you found." And almost every one of those pitches ends with a click, and that click has to land somewhere.

So I spent this morning finding out where those clicks would land. I did it with free tools, in public, on every independent package store I could confirm is physically in Dartmouth. Below is exactly what I ran, exactly what came back, and exactly how you run it on your own store before you agree to spend anything.

What I ran, and what came back#

I built the list by hand: every independent package store I could confirm at a Dartmouth address, including North Dartmouth 02747 and South Dartmouth 02748. I excluded supermarkets and national chains, delivery marketplaces, and one wholesale beverage distributor that is not a retail store. That left ten businesses. Two of them have a website of their own. Eight do not.

10
Independent Dartmouth package stores confirmed
Chains, supermarkets and wholesalers excluded
8
Have no website of their own
Directory microsites do not count
0 of 2
Live sites carrying a Meta Pixel
Checked in page source, 18 Aug 2026
0 of 2
Live sites with a tappable phone number
No tel: link anywhere on the homepage

The eight without a website are not doing anything unusual. Several have an active Facebook page and clearly put work into it. In a category where nobody browses inventory online before buying a six-pack, "no website" is a defensible business decision, and I am not going to pretend otherwise.

The problem is what happens when one of those eight decides to advertise.

The finding that made me stop#

One of the ten used to have a website. The domain lapsed. I followed it this morning from a phone user agent, and it now resolves in three redirects to an offshore online gambling site, which returns HTTP 200 and loads fine.

I am not naming the store. They almost certainly do not know. Domains expire quietly, a registrar auto-renewal fails on an expired card, and a broker buys the name for the residual traffic. Nothing about it feels like an event when it happens.

But that dead address is still sitting in directory listings, in old print, and possibly in a Google Business Profile. Anyone who clicks it, including anyone who clicks it from an ad, ends up at a casino. If that store bought a single ad tomorrow pointed at its own name, it would be paying to send neighbors somewhere embarrassing.

The white sails of the Fall River veterans memorial against an open sky.
The white sails of the Fall River veterans memorial against an open sky.Fall River, MA

The two live sites, measured#

For the two stores that do have a working website, I ran Google PageSpeed Insights on mobile and read the page source. Here is what came back today.

SitePerformanceField LCPLab LCPMeta PixelTappable phone
Site A443.8s6.3sNoNo
Site B541.8s12.3sNoNo

Two things worth reading carefully, because most speed articles get this wrong.

Field LCP is what real visitors actually experienced. Google assembles it from real Chrome users over a rolling 28-day window, which is Google's window, not a choice of mine. Lab LCP is a simulation on a throttled mid-range phone. When they disagree this violently, the lab number is telling you what a bad connection in the parking lot looks like, and the field number is telling you what the average real customer got. Site B's field score of 1.8s is genuinely good and passes Google's threshold. Its lab score of 12.3s says the site is heavy enough that a weak signal punishes it badly.

Note also that Site B has the better Performance score and the worse lab LCP. That is not a contradiction. Performance is a blend of several timings, and a site can be quick to start painting while still taking a long time to finish the one large element that LCP measures. This is exactly why I am asking you to read two numbers instead of one.

Neither site can measure an ad click. No Meta Pixel. No Google Ads conversion tag. No tag manager container. One of the two has no analytics of any kind installed. That means if either store ran an ad campaign tomorrow, the platform could tell them how many people clicked, and absolutely nothing about whether any of those people walked in, called, or bought.

That is the whole ballgame, and Google says so itself in the documentation for how it prices your ads:

Landing page experience: How relevant and useful your landing page is to people who click your ad.
Google Google Ads Help, "About Quality Score for Search campaigns" Source

That is one of the three components Google lists as determining Quality Score, alongside expected click-through rate and ad relevance. Your landing page is not something you fix after the campaign underperforms. It is priced into what you pay per click before the campaign starts.

The procedure. Twenty minutes, mostly on your phone, free.#

Do these in order. Every one of them is free, none of them requires an agency, and the whole thing fits in the gap between the lunch rush and the after-work rush.

On your phone, on cellular data. Type your domain. Let it settle. Read the address bar.

You are checking three things: it loads at all, it is still your domain, and it says https with a padlock. If there is no padlock, some browsers will interrupt visitors with a warning before they ever see your page, and you will be paying for clicks that hit a scare screen.

Do the same for whatever link is in your Google Business Profile and on your Facebook page. Those are three separate links, and they drift apart over years.

Step 2 — Measure the page the way Google does. 4 minutes.#

Go to pagespeed.web.dev, paste your homepage, choose Mobile, and wait. It is free, it has no signup, and it is the same engine I used above.

Read two numbers and ignore the rest:

  • Largest Contentful Paint in the "Discover what your real users are experiencing" panel at the top. That is field data, real visitors, last 28 days. Google calls under 2.5s good and over 4.0s poor. Those are Google's thresholds, not mine.
  • The Performance score below it, which is the simulation. Useful as a direction, not a verdict.

If the top panel says it does not have enough data, that is not a failure. It means your site does not get enough Chrome traffic for Google to have a sample, which is itself worth knowing before you buy traffic.

Step 3 — Check whether you can count anything. 5 minutes.#

This is the step nobody does and it is the one that decides whether ad money is an investment or a donation.

On a desktop browser, open your homepage, press Ctrl+U on Windows or Cmd+Option+U on a Mac. That shows the page source. It looks like nonsense. You do not need to read it.

Press Ctrl+F and search for these four strings, one at a time:

Search forWhat it means if found
fbq(Meta Pixel is installed. Facebook and Instagram ads can be measured.
gtag(A Google tag is installed. Analytics or Ads conversions are possible.
AW-A Google Ads conversion tag specifically.
tel:Your phone number is tappable on a phone.

I ran exactly this on both live Dartmouth sites this morning. All four came back empty on both. If yours does too, you now know something your ad rep has not told you.

Step 4 — Make your phone number tappable. 3 minutes. This is the free fix.#

For a package store this is the single highest-value change on the list, because your conversion is not a checkout. It is somebody calling to ask if you have a bottle before they drive over.

Find wherever your phone number appears on your site. It is probably plain text. In whatever editor you use, turn it into a link and set the destination to tel:5085551234 using your own digits, no spaces, no dashes, no parentheses.

That is it. On every phone in America, your number is now one tap. In Squarespace, WordPress and Wix this is a text-link edit, the same as linking to any other page. It takes three minutes and it costs nothing, and it is the difference between a customer calling you and a customer going back to the search results.

Step 5 — Install a pixel, or don't advertise yet. 5 minutes.#

If you are going to run Meta ads, go to Meta Events Manager, create a dataset, and copy the base code into your site's header. Every major site builder has a field for this. In Squarespace it is Settings, Developer Tools, Code Injection, Header. In WordPress most themes have a header scripts box, and if yours does not, a free plugin adds one.

If you are going to run Google Ads, create a conversion action for phone calls from your website and install the tag the same way.

If you are not willing to do this step, my honest advice is to not run the ads yet. An unmeasured campaign is not a small version of a measured campaign. It is a different thing entirely, and the only person who learns anything from it is the platform.

Step 6 — Write down what a win looks like. 1 minute.#

Before the first dollar. One sentence, on paper: a win is fifteen phone calls a week from the ad. Or twelve. Or three case orders.

Almost every wasted local ad budget I have seen traces back to nobody having written this sentence, so there was never a moment where anyone could say it was not working.

The bark of an old street tree, close up — decades of growth in a city park.
The bark of an old street tree, close up — decades of growth in a city park.Fall River, MA

The part where my tool was wrong#

I should say plainly where my own measurement failed, because the whole point of publishing a method is that you can check my work.

My social audit script scrapes the social links off a homepage and tries to identify the handle. On one of the two live sites it parsed the Facebook handle as a bare four-digit number, which is not a handle. It grabbed a fragment out of the URL structure. I caught it by reading the output; an automated pipeline would have published it. That is a real bug in my tool, not a finding about the business.

More importantly: I could not verify any Facebook or Instagram page. In my runs this morning, Facebook returned HTTP 400 to server-side requests for real and fake pages alike, and Instagram returned HTTP 200 with a login wall for handles that do not exist. Any tool that tells you it checked a business's Facebook page from a server is either using the Graph API with a token the business owns, or it is guessing. Mine reports those as unmeasured, and so do I. Several of these eight stores are, by every human account, active and well-run on Facebook. I simply cannot prove it with a script, and I am not going to pretend a 200 response is evidence.

I also could not measure Google review counts or ratings for this category. The Places lookup returned a permission error on my key this morning, so every review figure I would normally publish is absent from this piece rather than estimated.

What a Dartmouth package store should do on Monday#

Cheapest first. Times are real, not marketing times.

FixTimeCostWho does it
Follow your own link on cellular, confirm the domain is still yours2 minFreeYou
Run pagespeed.web.dev on mobile, write down the field LCP4 minFreeYou
Ctrl+U, Ctrl+F for fbq(, gtag(, AW-, tel:5 minFreeYou
Make the phone number a tel: link3 minFreeYou, or whoever built the site
Match the link in your Google Business Profile to the one on Facebook5 minFreeYou
Install a Meta Pixel or Google Ads conversion tag5 minFreeYou, or whoever built the site
Renew a lapsed domain, or reclaim oneone callAsk the registrarRegistrar, urgently

If you have no website at all, you are not behind. You are in the majority of your category in your town, and the first five items on that list still apply to your Google Business Profile, which is free and which most of your customers are actually looking at.

The waterfront boardwalk at golden hour, lamps coming on along the rail.
The waterfront boardwalk at golden hour, lamps coming on along the rail.Fall River, MA

What I could not measure: Facebook and Instagram page existence or engagement for any of the ten stores, because neither platform can be verified server-side without a token the business owns. Google review counts and ratings, because my Places API key returned a permission error today. Whether any of these stores currently runs paid advertising, which is not publicly visible. In-store sales, foot traffic, and phone volume, none of which are measurable from outside. Everything else in this piece was measured on 18 August 2026 and can be re-run by anyone with a browser.

Every number here is reproducible. Paste any package store's URL into pagespeed.web.dev and you will get the same kind of answer I did. I would rather you ran it yourself than took my word for it, and if you run it and do not like what comes back, call me and I will tell you honestly whether it is worth paying anyone to fix.

Joshua Amado, Avalon Partner. 774.559.8992 · Joshua.Amado@AvalonPartner.com

Want help putting this into practice?

Avalon Partner helps Fall River and South Coast businesses fix the gaps that cost them leads. Call 774.559.8992 or email Joshua.Amado@AvalonPartner.com.

Keep reading