[HN Gopher] Ad block shouldn't break your checkout
       ___________________________________________________________________
        
       Ad block shouldn't break your checkout
        
       Author : infomiho
       Score  : 174 points
       Date   : 2021-05-18 13:00 UTC (10 hours ago)
        
 (HTM) web link (ilakovac.com)
 (TXT) w3m dump (ilakovac.com)
        
       | mikelward wrote:
       | British Airways does this. It's been broken for years.
        
         | SideburnsOfDoom wrote:
         | Yes. And British Airways is renowned for fractally bad IT.
         | 
         | e.g.
         | 
         | outage, 2017
         | 
         | https://www.theguardian.com/business/2017/may/31/ba-it-shutd...
         | 
         | https://www.cloudpro.co.uk/it-infrastructure/7800/british-ai...
         | 
         | outage, 2019
         | 
         | https://www.itpro.co.uk/disaster-recovery-dr/34162/british-a...
         | 
         | Supply chain hack, 2018:
         | 
         | https://www.bbc.co.uk/news/technology-45446529
        
       | helsinkiandrew wrote:
       | Hang on: The Tee Spring code checks if GA is there and works
       | without it, the website breaks because Ad block replaces GA with
       | a fake object that doesn't have the same API.
       | 
       | Perhaps some companies have the resources to check if their
       | websites run with different ad blockers, but expecting websites
       | to work when plugins are replacing and breaking running code is a
       | big ask.
        
         | WarOnPrivacy wrote:
         | > Perhaps some companies have the resources to check if their
         | websites run with different ad blockers,
         | 
         | Checking the top 3 adblockers that command the majority of
         | market share would be a much smaller ask - maybe smaller than a
         | check-mobile-browser sized ask.
        
         | Navarr wrote:
         | Yeah this is very clearly on the ad-blocker.
         | 
         | I think TeeSpring has the right idea - they're checking that GA
         | is loaded, if it is, then do stuff with it, if it's not, then
         | don't.
         | 
         | I don't understand how a website can and should be expected to
         | adapt to a browser plugin changing the APIs they depend on out
         | from underneath them.
        
           | LeifCarrotson wrote:
           | The ad blocker is probably trying to do the right thing for
           | their users, to. Too many websites check that GA is loaded,
           | if it is, then do stuff with it, if it's not, then redirect
           | to a "Please disable your ad-blocker" page.
        
             | jrockway wrote:
             | I think the key point is that the only way to do this right
             | is to have a quirks list and both implementations, and pick
             | the implementation based on that list.
        
           | ignoramous wrote:
           | > _I think TeeSpring has the right idea - they 're checking
           | that GA is loaded, if it is, then do stuff with it, if it's
           | not, then don't._
           | 
           | I think they could go one step further and may be
           | _try...catch_ (sandbox) all access to third-party services
           | that aren 't critical.
           | 
           | User-agents, which browsers are, expectedly do put a lot of
           | control in the hands of the end-users. Such breakages should
           | be factored in and worked around (provided there are enough
           | engineering resources to throw at the problem, of course).
        
           | matheusmoreira wrote:
           | Why does checkout depend on Google APIs?
        
         | OJFord wrote:
         | But you don't even need to check, you just don't blow up and
         | still check out if it doesn't work?
         | 
         | Put it this way, forget adblock, if the GA call fails, it
         | should still check out. (Assuming the problem doesn't affect
         | other stuff too, like internet down or whatever.)
        
           | shadowgovt wrote:
           | I think the problem is that with the code-as-written, if the
           | GA call fails, the relevant `window` field won't be
           | populated, which the code is detecting.
           | 
           | Given the hyper-malleable nature of JavaScript in an HTML
           | page in a user-agent owned by the end user, at some point the
           | developer _has_ to draw a line in the sand and say  "This
           | category of failure modes is not checked," because it's
           | mathematically impossible to check all possible failure modes
           | in that configuration. "An extension is intentionally faking
           | an object in the `window` context" just happens to be on the
           | other side of the "don't check" line for this application,
           | because it's extremely unlikely (and, one could argue, user-
           | self-inflicted).
        
         | matheusmoreira wrote:
         | Just stop using Google spyware. Takes zero amount of resources.
        
         | JulianMorrison wrote:
         | Don't put GA there, then.
        
         | josephcsible wrote:
         | I think the point is that Google Analytics shouldn't be an
         | essential part of your site, so it totally breaking for any
         | reason should be unnoticeable to the end user.
        
           | bastawhiz wrote:
           | If it had broken, the code in the post would have worked. How
           | exactly is code supposed to handle a dependency existing, but
           | not being the API shape that it should be because a browser
           | extension added an incomplete stub? Should every line of code
           | get wrapped in try/catch?
           | 
           | There's a big difference between "resilient against a missing
           | dependency" and "being resilient in the face of getting
           | literally any object instead of the dependency you expected
           | to get."
        
             | josephcsible wrote:
             | > Should every line of code get wrapped in try/catch?
             | 
             | Everything Google Analytics does is expendable, so the
             | block of code that deals with it should be wrapped in
             | try/catch.
             | 
             | > There's a big difference between "resilient against a
             | missing dependency" and "being resilient in the face of
             | getting literally any object instead of the dependency you
             | expected to get."
             | 
             | If Google pushes a breaking change to the Google Analytics
             | API tomorrow, that shouldn't break checkout either.
        
             | ratww wrote:
             | _> Should every line of code get wrapped in try /catch?_
             | 
             | For third party dependencies that might not get loaded for
             | whatever reason? Yes, sure. There are better ways to do it,
             | but that's the idea.
        
           | jasonlotito wrote:
           | It's not. It can work without it. The issue is something is
           | pretending to be Google Analytics just enough to cause
           | problems.
        
         | mrweasel wrote:
         | I believe that Firefox is replacing some Facebook JavaScript
         | with a stub, to avoid that sites break because some tracking
         | bits are missing.
         | 
         | So the reason why the GA object is replaced, rather than
         | removed, is because removing it would break other sites. Tee
         | Spring is trying to do the right thing, but fail because other
         | sites don't do the same.
        
           | gpvos wrote:
           | Both uBlock Origin and TeeSpring are trying to do the right
           | thing, but in incompatible ways. I would say in this case the
           | onus is on uBlock Origin to provide a stub that is as
           | transparent as possible.
        
       | acomjean wrote:
       | I run ad block (unlock origin) on Firefox. I noticed I couldn't
       | order on restaurants that used "Toast" for they're ordering. Try
       | chrome, works. But the reason wasn't the browser but just I
       | wasn't ad blocking on chrome..
        
       | npsimons wrote:
       | Let me add that blocking outgoing requests to non-standard ports
       | should also not break payment systems, yet I've encountered
       | exactly that.
       | 
       | If your checkout system connects over anything but port 443, you
       | done fucked up.
        
       | Doctor_Fegg wrote:
       | Fairly regular support conversation on the community website I
       | run:
       | 
       | "I can't see the images on the 'Adverts' page."
       | 
       | "Do you have an ad-blocker installed?"
       | 
       | "Yes."
       | 
       | "What do you think an ad-blocker does..."
        
       | danpalmer wrote:
       | I never ceased to be amazed at how much core site functionality
       | is implemented with Google Tag Manager.
       | 
       | I block it with uBlock Origin and many standard ecommerce sites
       | just don't function in a most basic way.
        
       | IvanK_net wrote:
       | I am an author of a photo editor https://www.Photopea.com .
       | 
       | Whenever someone reports a bug to me, I ask them if they use any
       | site-modifying extensions. If they do, I ignore them completely,
       | even if they wrote a long, detailed report.
       | 
       | Web authors make websites for standard web browsers. I do not
       | consider a browser with site-modifying extensions to be a
       | standard web browser, and it is not my job to test my website
       | with all 1,000,000 extensions that exist on earth.
       | 
       | It all started six years ago, when my website contained <div
       | id="ad" ... and somebody reported, that their adblock removes
       | that element, but it is not the ad. What kind of a mental process
       | should a brain perform to conclude, that it is a bug in a
       | website, and not in their extension, which is supposed to remove
       | ads.
        
         | zentiggr wrote:
         | div id="ad" but not containing an actual ad, seems like a
         | pretty obvious unintentional overlap, and one that's not going
         | to go away.
         | 
         | How difficult would it be for you to change the div name to not
         | coincide with the characters most closely involved with one of
         | the most contentious technologies around? And never have to
         | deal with that potential conflict again?
         | 
         | > What kind of a mental process should a brain perform to
         | conclude, that it is a bug in a website, and not in their
         | extension, which is supposed to remove ads.
         | 
         | Well, if the extension looks for obvious ad-related layout, and
         | your site just happened to use that name, then yes, you have a
         | bug related to common usage patterns.
         | 
         | Even if you used the name before anything ad related, when the
         | world changes around you, you can choose to adapt, or you can
         | get offended and obstinate and fall further and further into a
         | niche of your own creation.
        
           | Dma54rhs wrote:
           | I've run into similar things with the word ad, banner etc but
           | they don't have to be standalone to triggers some filters,
           | adblock is fairly dumb in that sense.
        
         | graton wrote:
         | > I ask them if they use any site-modifying extensions. If they
         | do, I ignore them completely, even if they wrote a long,
         | detailed report.
         | 
         | Note to self, don't use Photopea due to poor customer support.
         | 
         | You would think the customer support would at least tell them
         | to remove/disable the add-ons instead of ignoring them.
        
           | nudgeee wrote:
           | AFAIK Ivan is customer support, photopea is a one-man
           | website, and one of the best out there.
        
           | pixelbreaker wrote:
           | yeah, I also noted not to use photopea, their whole argument
           | just comes across as arrogance/laziness. If you rely on GA
           | loading before the rest of a page can actually work, then
           | your site is bullshit. Enforcing a users data is given to GA
           | is bullshit.
        
             | jamespo wrote:
             | I expect they'll get over the loss of your business
        
               | mitchdoogle wrote:
               | In any case, it doesn't make much sense to advertise that
               | you purposely ignore user complaints. If you do that,
               | then that's bad, but why wear it as a badge of honor?
               | 
               | Maybe he's just so sick of hearing about errors or bugs
               | from thousands of users, he's sabotaging his own product
               | in hopes it will just die and he can move on.
        
           | jraph wrote:
           | Yes, don't let them write a long message if you are not going
           | to read it. At least tell people that they need to try the
           | website without any extension before reporting any issue.
           | 
           | Anyway, ad blockers are standard now and they usually share
           | the blocking lists. Supporting them is just a matter of
           | installing uBlock Origin in the browser you use to develop.
        
         | Nextgrid wrote:
         | > What kind of a mental process should a brain perform to
         | conclude, that it is a bug in a website, and not in their
         | extension, which is supposed to remove ads.
         | 
         | On the other hand you know how ad blocking works and if it's
         | not too much effort just change the class name?
         | 
         | If your website behaves like malware is it really the fault of
         | antimalware software that blocks it? If there was a better way
         | to detect malware, sure, but heuristics is the best we've got
         | and they do sometimes break - if it's not too much effort to
         | make your website not behave like malware why not do it?
         | 
         | I fully agree with you about other, more intrusive site-
         | modifying extensions, but ad-blockers are fairly lightweight
         | and only target behavior that looks malicious, and it's fairly
         | easy not to trigger them.
        
         | IvanK_net wrote:
         | An update: almost nobody pays for Photopea, and all my reports
         | are from users who use it for free. I fixed over 3000 issues so
         | far, some took minutes, others took weeks:
         | https://github.com/photopea/photopea/issues?q=is%3Aissue+is%...
         | 
         | A "popular" issue is, that people use an extension, which
         | renames files saved by Photopea to .TXT. It is reported several
         | times a week and every time, I tell people to disable an
         | extension. They often argue, that it can not be caused by an
         | extension, or even lie, that they disabled it and it did not
         | help.
         | 
         | https://github.com/photopea/photopea/issues/3246
         | https://github.com/photopea/photopea/issues/3227
         | https://github.com/photopea/photopea/issues/3194
         | https://github.com/photopea/photopea/issues/3187
         | https://github.com/photopea/photopea/issues/3116
         | https://github.com/photopea/photopea/issues/3110
         | https://github.com/photopea/photopea/issues/3049 and so on.
        
           | ohyeshedid wrote:
           | How does having GA integrated into your sales flow prevent
           | these situations from happening?
        
           | derimagia wrote:
           | > the extension "Google docs offline" was renaming files form
           | Photopea to .TXT. You are using the same extension.
           | 
           | https://github.com/photopea/photopea/issues/2294#issuecommen.
           | ..
           | 
           | "Google docs offline" is an official extension from google
           | which you get prompted to install when you go to Google Drive
           | in Chrome without the extension installed. I don't think that
           | caused anything and it looks like there was an actual bug you
           | had:
           | 
           | > There really was a bug in Photopea. If you opened a file,
           | whose name started with a dot . , like .myfile.psd, It was
           | always exported as .TXT_ > I have fixed this bug. You can
           | open files with any names now, and they should be saved under
           | the right extension.
           | 
           | https://github.com/photopea/photopea/issues/3116#issuecommen.
           | ..
           | 
           | It did seem like the issue was on your end and not the
           | extensions though.
        
         | IncRnd wrote:
         | > What kind of a mental process should a brain perform to
         | conclude, that it is a bug in a website, and not in their
         | extension, which is supposed to remove ads.
         | 
         | For website owners who are losing revenue, the mental process
         | is simple: "If I change this webpage I will get more sales."
        
         | tux3 wrote:
         | >I do not consider a browser with site-modifying extensions to
         | be a standard web browser
         | 
         | What do you consider a standard web browser?
         | 
         | If someone ships a browser with Tracking Protection (like
         | Firefox), or with NoScript preinstalled (like Tor Browser), or
         | with another adblocker preinstalled, is that a standard browser
         | because the user didn't modify it?
         | 
         | Or is it based on the number of user. Is your standard browser
         | really just Google Chrome, because Google has a lot of
         | marketshare?
         | 
         | I ask, because I looked up the statistics, and they say between
         | 25-45% of users have an ad blocker, depending on the country.
         | 
         | It seems pretty unfair to ignore your users completely, even if
         | they wrote a long, detailed report. No?
        
           | StavrosK wrote:
           | Maybe he chooses to ignore non-paying users, which is fair.
           | Hell, ignoring _any_ kind of user is fair. Might not be a
           | great business strategy, but it 's his site.
        
           | penultimatename wrote:
           | I think most of Photopea's users would be using the free
           | services. I don't see why a developer would want to bend over
           | backwards to support users who aren't paying them, aren't
           | viewing ads to support their usage/bandwidth costs, and are
           | having an issue due to another piece of software they have
           | installed.
           | 
           | It's like emailing an email provider asking why your desktop
           | email client is displaying emails weird.
        
           | IvanK_net wrote:
           | A standard web browser is a browser, which runs a website
           | according to web standards. If an extension e.g. replaces
           | every image in a webpage with the image of Bill Gates, it is
           | not a standard browser in my opinion, and users should not
           | report it to me as a bug in my website.
        
         | throwawayboise wrote:
         | I think that's a fair point of view. I use ad blockers, and if
         | you site breaks with them, I won't use your site. If you're OK
         | with that, I am as well.
        
         | barrkel wrote:
         | We're talking about a checkout. We're at the end of the sales
         | funnel, where the monetary exchange is finalized, the deal is
         | sealed, the value delivered.
         | 
         | Breaking this based on an ad blocker just loses you money.
        
           | waynesonfire wrote:
           | > Breaking this based on an ad blocker just loses you money.
           | 
           | That's false. Similar thinking to how the MPAA said that
           | downloading a MP3 is a lost sale. There was never a sale to
           | begin with, the user is not interested in a purchase
           | regardless of whether the pirated content is available.
           | 
           | Here, the user will just go through the checkout again in a
           | browser without ab-block or disable it. Why would they
           | suddenly not need a power washer because they're running ad-
           | block?
           | 
           | In fact, if anything, it'll train the user to disable ad-
           | block when they're ready to checkout--from _ANY_ site since
           | most of them are broken under ad-block.
        
             | ookware wrote:
             | Considering it has been reported that over half of
             | potential customers will abandon a purchase if a page takes
             | over 3 seconds to load, failing to load at all suggests
             | you'll likely get similar - if not higher - losses
             | 
             | https://www.vouchercloud.com/resources/consumer-
             | psychology-t...
        
             | db48x wrote:
             | No, if I visit a site that is broken by my adblocker, or
             | that uses recaptcha, I just never visit it again.
        
             | DigitallyFidget wrote:
             | This is so horrendously wrong. I've experienced this on
             | many different online retailers. I don't suddenly not
             | want/need the product, I just go elsewhere. If a physical
             | store I go to has their checkout system go down, I'll go
             | elsewhere. Online isn't an exception to me, prior to this
             | article, I NEVER realized that it was a possibility that my
             | adblock was the cause. I just went to a retailer that
             | didn't have a broken checkout. Going elsewhere is a more
             | simple and easy fix than troubleshooting "WTF is wrong with
             | this site?".
        
             | detaro wrote:
             | The sales people are always on about how easily people
             | "abandon carts" due to small friction. Lots of things
             | people buy they a) don't need that urgently or b) can buy
             | somewhere else. Some fan shirt off TeeSpring is very
             | strongly in the "not urgently needed" category, your
             | powerwasher example might very well be too _and_ can be
             | bought from tons of places.
        
               | waynesonfire wrote:
               | This is probably true. I guess my buying impulses are
               | tapered compared to others.
        
             | priyanmuthu wrote:
             | This is assuming that they know the ad blocker is causing
             | the problem. I'm just going to buy the power washer from
             | amazon because your site's checkout is not working!
        
               | waynesonfire wrote:
               | of course you are.. but when you're not, the value of
               | using the alternative site out weights having to go
               | through the checkout process again or a 4 second page
               | load as someone else suggested is a deal breaker.
        
       | Marsymars wrote:
       | One of the largest pharmacy chains in my area has a covid-
       | vaccine-booking page that's impossible to complete if ad-blockers
       | are enabled. (Even Safari content blockers on iOS break it.)
       | 
       | Developers failing to test sites with adblockers could literally
       | result in people _dying_.
        
       | johnchristopher wrote:
       | Mediamarkt.be doesn't work at all on firefox mobile.
        
       | mindslight wrote:
       | While we're at it, potential customers shouldn't need to identify
       | pictures of traffic lights and buses to shop your store. If
       | you're _a web store_ , then you're in the business of selling
       | things and advertising that you're selling them far and wide. The
       | only place you _might_ need a CAPTCHA is the account login page,
       | and only then after there are multiple failed attempts from the
       | same IP address. Other than that, get the fuck out of your
       | customers ' way.
        
         | Karunamon wrote:
         | Depends on if you have a bot/scraping problem or not. Though
         | admittedly sitting behind something like Cloudflare and
         | leveraging their reputation system rather than blithely
         | embedding recaptcha into your page might be the way to go, but
         | then you're married to Cloudflare. Pick your poison.
        
           | mindslight wrote:
           | Apart from the caveat I gave regarding logins, there is
           | simply no such thing as a bot or scraping "problem" for a web
           | store. Your goal is to advertise what you are selling far and
           | wide - bots are your friends. If you have problems with site
           | load, the first thing to do is make your site more efficient.
           | If you're a small operation and that still isn't enough, add
           | generic server side throttling.
        
       | complainic wrote:
       | What OKR does a purchase move if there is no analytics tracker
       | there to see it?
        
       | jerf wrote:
       | My local energy company has a website where you can register an
       | account to pay remotely with them. I have uMatrix on and it was
       | blocking some third party scripts. It managed to get my account
       | into some sort of "half-created" state. It is impossible to log
       | in, impossible to reset the password, and impossible to create a
       | new account with my (physical!) address because "an account
       | already exists for that address". I ultimately found another
       | solution, but that's the worst breakage I've ever seen... not
       | just that my payment didn't go through, but my browser config
       | permanently scrambled the entire possibility of ever getting an
       | account set up!
       | 
       | (I did not bother trying to explain this to a human on the phone,
       | because of the aforementioned alternate solution. That just
       | sounds a supersized order of pain.)
        
         | shadowgovt wrote:
         | That's a bad bug on their end. It implies that if a user's
         | user-agent crashes (or they kick the power plug out of the wall
         | at the wrong time), they can get into this state.
         | 
         | As a general principle, it should be impossible for a client to
         | "half-configure" an account; the Internet isn't designed to be
         | reliable enough to support guarantees that all the relevant
         | messages get sent and received.
        
       | blacksmith_tb wrote:
       | My fave example of this - I am using NextDNS for ad-blocking on
       | my stock Pixel 4a, the Wells Fargo app won't allow me to sign in
       | with fingerprint or username/pass while using DNS over TLS.
        
       | NoGravitas wrote:
       | IMO, this points out the inherent and unresolveable contradiction
       | between browsers being a user-agent, and browsers being a
       | precisely-specified execution environment for arbitrary
       | applications. A browser that is built to operate in the interests
       | of its user _will not_ run code that is harmful to them, whether
       | that 's code to track them, code to mine bitcoin, or code to
       | display advertisements. On the other hand, a browser that is
       | compliant with the (largely advertising-company-defined) web
       | platform standard _will_ do all these things, and can 't permit
       | any user-agent features or extension mechanisms that would
       | interfere with them. The web platform standard as we know it
       | essentially specifies that the browser belongs to the website
       | operator (within some sandboxing guarantees), not to the browser
       | user. On the whole, I prefer that software I run on my computer
       | belong to me; this makes using the web a necessary evil at best.
        
         | JulianMorrison wrote:
         | The answer to the contradiction is to test with uBlock.
         | 
         | The existence of Firefox as a counterweight to Chrome means
         | that the web standards are not going to win. Ads will be
         | blocked. Cope and deal.
        
       | sabujp wrote:
       | it shouldn't break lots of stuff but it does, e.g. access to bank
       | & other financial sites.
        
       | al2o3cr wrote:
       | TBH I don't see this as a TeeSpring problem - the code on their
       | page guards against a realistic scenario (the GA script fails to
       | load), but the "break" is caused by uBlock's changes.
       | 
       | The article's title is correct: ad block shouldn't break
       | checkout. Injecting a bogus value into a global breaks checkout,
       | so ad block shouldn't do that.
        
         | mitchdoogle wrote:
         | How does analytics factor into the functionality of the
         | checkout? That's the only question that matters here. The
         | answer is it doesn't, so regardless of if it loads, is buggy,
         | or has weird data, it shouldn't stop the checkout process.
        
         | ehutch79 wrote:
         | It's both.
         | 
         | as mention other places though, missing window.ga at all on
         | other sites can cause worse problems. I'm not sure mimicing the
         | whole api is useful, but maybe not adding the stub on teespring
         | will be.
         | 
         | On teesprings side, it's not their fault, but adding '&&
         | window.ga.getAll' will fix the issue
        
         | tyingq wrote:
         | I agree with that, though if I'm TeeSpring, I'd fix it anyway.
         | It's silly to throw out incoming business. I assume the same
         | thing would happen if there were a brief GA outage.
        
           | suprfsat wrote:
           | If GA is unreachable then window.ga wouldn't be defined.
           | 
           | The author is running an extension that specifically injects
           | code to make window.ga into something unexpected, and then
           | complaining about it.
        
             | tyingq wrote:
             | Yes, though again, throwing out a checkout session for
             | anyone running that extension isn't wise.
             | 
             |  _" If GA is unreachable then window.ga wouldn't be
             | defined."_
             | 
             | The legacy code you insert for GA does: var ga =
             | document.createElement('script'); first, then loads GA.
             | Wouldn't that have the same issue if GA is unreachable?
        
         | mmis1000 wrote:
         | Personally I think the path should guard against any change to
         | unnecessary third party library function. Because third party
         | script can be bugged and break your site in a funny way. Just
         | like the story broken facebook login broke many site and apps.
         | The api behaves funny, so everything broke all together because
         | you explicitly rely on it without care.
        
         | quitethelogic wrote:
         | I do see it as a TeeSpring problem. This particular bug got in
         | my way 2 weeks ago when I was attempting to buy some merch to
         | support a youtube channel I frequent. I almost abandoned the
         | purchase.
         | 
         | A shopping site breaking checkout when there's a google
         | analytics problem is madness, IMO. uBlock Origin is hugely
         | popular. With 10M (claimed) active users, you should probably
         | be testing against uBlock Origin for your e-commerce site.
         | 
         | As an aside, buying from TeeSpring was a little... interesting.
         | You add the items to your cart and pay like at any other site.
         | Instead of being charged for the total, I got invoiced
         | separately for each (including separate confirmation emails),
         | along with 5 or 6 duplicate shipping notices for one of the
         | items. My credit card was also charged separately for each
         | item. I get that there are probably reasons for this purchase
         | flow, but it's not implemented well.
         | 
         | I got my stuff and all is good, but the whole buying experience
         | was janky.
        
         | IncRnd wrote:
         | That may be true from a technical perspective, but it
         | ultimately is TeeSprings problem. The problem they face is lost
         | revenue from people who already clicked the purchase button.
        
         | tpl wrote:
         | Coupling your checkout to Google Analytics is not good though.
        
           | WarOnPrivacy wrote:
           | If a purchase occurred on the internet and Google didn't
           | know, did it really happen?
        
             | reddit_clone wrote:
             | Funny. But why do I feel sad?
        
       | avmich wrote:
       | Practically the whole Web doesn't function if client blocks add,
       | disables JavaScript (which became quite annoying lately) or uses
       | Tor.
       | 
       | I'd like to find a solution which would restore the ability to
       | use sites. I'm thinking about website cleanup offering (startup
       | anyone?), I wonder if something similar already exists.
        
         | dooglius wrote:
         | I use Tor by default, and while many sites don't work (TFA is
         | behind a Cloudflare captcha, ironically enough), I wouldn't say
         | it's a majority.
        
       | shadowgovt wrote:
       | As a web developer, ad blockers are maddening. The problem is
       | that they're part of an arms race that even if you don't use ads,
       | you have to be aware of.
       | 
       | Early in my career, I worked on a site that displayed images,
       | each of which was given a GUID and loaded from a server in
       | thumbnail form. Fortunately, one of our developers used an ad
       | blocker, because she realized two (of a couple hundered)
       | thumbnails didn't show up. Turns out her ad blocker was running a
       | heuristic based on both dimensions of the thumbnail and the URL
       | the thumbnail was served from, and if it saw the sequence 'ad' in
       | the URL (plus some additional pieces of the URL we never
       | identified; attempts to reproduce it with a simpler URL didn't
       | pan out), the browser extension would block the image from
       | loading and our users got a broken image.
       | 
       | The best solution we could come up with was tweak the server
       | logic to substitude 'a' with 'g' when vending the URLs, and then
       | reverse the substitution when fetching them. Huge pain in the ass
       | on our end, but necessary to ensure our customers' user
       | experience didn't break from their own ad blockers.
       | 
       | "Ad block shouldn't break your checkout..." but it's third-party
       | code you don't own or control splicing behavior atop the code you
       | _do_ own and control, so _of course_ it breaks things
       | occasionally. It 's like the old era of the MacOS Desk Accessory
       | API. It is provably mathematically impossible for the developer
       | to guarantee successful execution of a Turing-complete program if
       | the program can be arbitrarily modified by third-party injection,
       | so the odds that browser extension in general (and ad blockers in
       | particular, as they are designed to modify the intended site
       | behavior) don't break any website are vanishingly close to zero.
        
         | randompwd wrote:
         | > atop the code you do own and control
         | 
         | It's a web browser. Look at it as if you're giving people the
         | option to run your code in their browser. Your code is not
         | entitled to be there - it's just a suggestion.
         | 
         | Your server side endpoints are what you own and control.
         | 
         | That's (thankfully) a fundamental part of the web. The days of
         | proprietary blobs running opaque code are done(java applets and
         | flash etc.)
        
       | wai1234 wrote:
       | Why is it checking for GA at all? A critical function like
       | accepting payment should be bullet proof. It's critical code and
       | should be treated that way.
        
       | pixelbreaker wrote:
       | 123-reg, can't use any of their support without disabling ad
       | blockers, and built in blocking in vivaldi. Totally useless.
        
       | beshrkayali wrote:
       | I think you need to consider changing the title of your article.
       | If I understood correctly, you're saying: TeeSpring needs to fix
       | their stupid checkout. I think your title should be: Your
       | checkout should not break because of ad-block. You have it the
       | other way around. It's important because most people understood
       | it like how I initially did and I was prepared to write a lengthy
       | comment on how wrong this argument is.
       | 
       | It's your job to fix your site so it doesn't break because of ad-
       | block. If you're determined on refusing service for people who
       | don't want to be tracked by breaking checkout, that's fine as
       | well. But then you don't get to complain.
       | 
       | Side note: my pet peeve these days is emojis. People need to stop
       | it with shoving emojis everywhere, just like TeeSpring needs to
       | stop shoving evil analytics everywhere. Not everything needs to
       | have 4x emotional emphasis ffs.
        
       | moviuro wrote:
       | LOL, article is hidden when uBlock is active. Way to go!
        
         | IncRnd wrote:
         | I use NoScript and uBlock Origin in Chrome, and the article
         | appears with all the images.
        
         | pndy wrote:
         | Displays fine for me - gotta be your filter lists subscriptions
        
           | lmz wrote:
           | So it's basically proving the site owner's point that they
           | can't account for whatever randomness the user decides to put
           | in their browser.
        
         | infomiho wrote:
         | Hey, not sure what you mean :) I use uBlock Origin in Chrome
         | and the article renders okay for me?
         | 
         | The site doesn't really use any JS other then some privacy
         | friendly analytics.
        
           | moviuro wrote:
           | Ah well, I blocked all JS for your domain, that worked.
           | 
           | The article was collapsing when I had uBlock on FFx, I only
           | saw your bottom (C)opyright.
        
       | lxe wrote:
       | Low quality JavaScript shouldn't break your checkout. This is the
       | type of issue that could have been caught by aggressive type
       | checking.
        
         | tantalor wrote:
         | That would not help, as the externs for that type don't match
         | the faked runtime object.
        
       | rallemoose wrote:
       | I've reported this to Teespring and all they reply with is to try
       | another browser and clear my cookies. They won't listen. They're
       | basically making Teespring unusable for the technical crowd.
        
         | ehutch79 wrote:
         | You've hit tier 1 tech support, that's likely their first
         | answer to EVERY issue
        
         | recursive wrote:
         | The *adblocker crowd. I think I'm in the "technical crowd" but
         | I've never used an adblocker.
         | 
         | Running non-compliant extensions is your right, but the results
         | don't need to be supported. I've run into this situation a
         | number of times, although not with adblock. My advice has been
         | to disable the extensions, or use a different browser without
         | them.
        
           | throwawayboise wrote:
           | > My advice has been to disable the extensions, or use a
           | different browser without them
           | 
           | You're leaving out the option of "not using the website."
           | 
           | Let's face it, nothing for sale on TeeSpring is essential.
           | Just thank them for putting a roadblock on your silly impulse
           | buy.
        
             | recursive wrote:
             | When I'm providing support, it's for my company's
             | application, and it really is essential in those cases.
        
           | rakoo wrote:
           | > non-compliant extensions
           | 
           | Compliant to who/what exactly ? Extensions are executed in a
           | _user_ agent, ie a software acting on behalf of a user based
           | on the settings they prefer. If anything it 's the website
           | that's non-compliant with the user's choice.
        
             | recursive wrote:
             | HTTP, HTML, CSS, ECMAscript all have formal specifications.
             | 
             | It's your choice to use things that don't conform, such as
             | IE11, but I wouldn't assume it's the server's problem.
        
           | Nextgrid wrote:
           | Browsing the web without an adblocker is like running
           | unpatched Windows XP on a machine exposed to the internet.
        
           | rallemoose wrote:
           | I agree. Ideally an extension never breaks a site. But if I
           | were to make a store. The most robust thing in the store
           | would be the checkout system. They're leaving money on the
           | table considering how little work it is to test the site with
           | the few popular extensions. It's basically like supporting a
           | special payment method or exotic browser.
        
       | vzaliva wrote:
       | Also ad block should not break log-in process. I recently
       | discovered that I could not log in to a web site unless I disable
       | ad block. All core web site functionality should be tested to
       | work with ad blocking. Unless you really hate your users.
        
         | rchaud wrote:
         | Adblockers block Google Analytics, which is a different script
         | from the ones that are served as part of displaying banner ads.
         | 
         | GA has an enormous set of capabilities for measuring user
         | activity and e-commerce, especially because Tag Manager lets
         | you assign trackable events anywhere you need to on the site.
         | 
         | It may be interesting to see if that site works if
         | 'analytics.js' and 'gtm.js' are greenlit. Those are the main GA
         | scripts. Everything else would likely be ad-related.
        
       | LinuxBender wrote:
       | Is the issue that the store built a checkout dependency on google
       | analytics to force people to disable uBlock or attempt to force
       | uBlock to allow google analytics for this domain?
        
         | GuB-42 wrote:
         | It makes no sense. All these ads and tracking and all that is
         | to make people buy stuff.
         | 
         | If people are ready to give you money, don't try to stop them!
        
         | infomiho wrote:
         | I believe that it was an unintentional mistake on TeeSpring's
         | end.
         | 
         | Searching for the dummy function uBlock Origin uses for
         | window.ga
         | https://github.com/gorhill/uBlock/blob/master/src/web_access...
         | 
         | This reveals that this has been in uBlock Origin since 2019.
        
       | sparker72678 wrote:
       | I've been running into this sort of thing more and more and more.
       | It's crazy how many page rely on some kind of google tag manager
       | event before they'll load the real content or perform the main
       | function of the page.
       | 
       | Don't all developers have ad blockers (clearly not)? I understand
       | managers not testing for this, but for my own work it'd never
       | load for me as a Dev, even.
        
         | Moru wrote:
         | I have this problem too. Every time I want to order something
         | from a new place I have to work out what out of 50 domains
         | actually needs to load in uMatrix. The funniest one is the
         | garage. When I book a time for service I get a confirmation but
         | when I show up at the garage on the date/time booked, they
         | can't find a thing in the system. Or sometimes they just find
         | an empty booking that doesn't even have my cars registration
         | number. I bet it's connected to uMatrix blocking some part of
         | the transaction.
        
         | Kwpolska wrote:
         | I don't have an ad blocker on my work machine. The light web
         | browsing I do on that machine mainly involves docs, internal
         | resources, and sites like SO -- which don't have any ads or
         | have very inobtrusive banners.
        
           | Grimm665 wrote:
           | I really think we're approaching the point where this
           | argument is the same as "I don't wear a seat belt when I
           | drive to the corner store. It's right around the block and I
           | never go above 10mph anyway."
        
       | bellyfullofbac wrote:
       | I remember trying to order from a pizza place that talked to a
       | third party delivery site, I hit "Order" and the browser didn't
       | do anything. DevTools told me it tried to talk to the 3rd party
       | using HTTP although the page was in HTTPS, and the browser
       | blocked it (this was years ago when browsers started blocking
       | HTTP content on HTTPS sites). Modifying the submit URL to https
       | solved the problem.
       | 
       | I found it pretty funny that I had to understand web development
       | and troubleshoot the problem just to order pizza...
        
         | npsimons wrote:
         | I've gotten a little more paranoid in recent years and started
         | blocking outgoing requests, just as a defense in depth. So I
         | would prevent clients from connecting to anything but 22, 80
         | and 443 (to start; I added more for things like WebRTC and
         | Amazon Streaming which uses AWS). I found a checkout that was
         | connecting over some random port and wouldn't work until that
         | was unblocked. Fucking annoying and I'm just left wondering how
         | long until they have a security breach through their non-
         | standard proprietary bullshit.
        
         | lainga wrote:
         | Same thing happened to me with Domino's Canada. The call to
         | place the order was returning a well-structured JSON error
         | message (it didn't recognize the city I had entered, which was
         | my suburb rather than my "post town") but the front-end wasn't
         | telling me anything!
        
           | throwawayboise wrote:
           | This is why I _always_ call to order for takeout or delivery.
           | I 'd say that 75% of the time I experience some kind of
           | technical issues with online ordering. Just talk to the human
           | at the store.
        
             | sunshineforever wrote:
             | I can't help but think of the article on posted on here
             | about a week ago with the old woman who refused to order
             | milk online after her service canceled phone ordering.
        
             | thih9 wrote:
             | More and more businesses are adding prerecorded responses
             | and menus to their regular line. It's a matter of time
             | until we completely automate delivery calls too, I guess.
        
               | mjevans wrote:
               | Then I'll either go there less and just order in person,
               | or not at all.
               | 
               | The whole reason I call is E.G. Round Table Pizza had a
               | perfectly good "Web 1.0" website. Instead of updating
               | some CSS rules to make it render better on mobile they
               | seem to have outsourced to a third party and now
               | everything performs worse and has it's own clunky hell.
               | So instead of using a shit re-design on a website I just
               | call on the phone.
        
             | jonpurdy wrote:
             | I've found that half the time whatever site I'm trying to
             | order with doesn't work, either due to Safari, adblock, or
             | whatever. Sometimes doing it in Chrome helps, but not
             | always. Even if it works, I need to create an account and
             | set up another email aliases for the site (since every site
             | gets it's own alias).
             | 
             | I've learned to just call orders in these days.
        
             | brnt wrote:
             | I find calling is not just for take out unreasonably
             | effective.
             | 
             | Somehow (well, we know the reasons) many websites and
             | platforms require you to have a full inner model of its
             | workings if you want to get things done. If you call, more
             | often then not the person calling you does that work for
             | you.
        
             | admax88q wrote:
             | The value add of Skip/UberEats/GrubHub is more obvious now.
             | At some point it's just nice to have an app that worksz
             | even if you pay a premium for it.
        
             | dont__panic wrote:
             | The killer for me is Indian places that only offer their
             | mildest spiciness when you order online, but ask you for a
             | spiciness level when you order on the phone. Absolutely
             | brutal.
        
           | GordonS wrote:
           | Similar story with Dominoes UK, where signin doesn't (or
           | didn't a couple of weeks back) work with uBlock.
        
         | anonymousiam wrote:
         | Reminds me of pizzatool. Today, probably nobody under 40 would
         | have ever used it.
         | https://instructabest.blogspot.com/2019/07/the-story-of-sun-...
        
           | [deleted]
        
         | hoppla wrote:
         | I tried to order something from an online store, the "place
         | order" button did nothing. The json response was nice enough to
         | tell me to contact their bank responsible for the payment
         | integration. A part of me wonder how things would turn out if I
         | followed their instructions.
        
         | savant_penguin wrote:
         | > Hi, is this pizza abc?
         | 
         | > Yes, can I take your other?
         | 
         | > No, you don't get it, I'd like to file a bug report, but your
         | website clearly has no feature to create issues so, when the
         | field city has the value...
         | 
         | > Sir, I cannot fix the website. If you do not wish to make an
         | order please hang up.
         | 
         | > Uhoh ok, sure, I'd like an anchovies pizza but instead of
         | anchovies I'd like you to make sure that when the field city is
         | set to Boston...
         | 
         | > Sir, I really cannot fix the website
         | 
         | > Couldn't you just make a note and leave it in the front door?
         | So that if other customers have the same problem they can
         | upvote the most common issues and then you can prioritize fixes
         | and get a reasonable budget for each one?
         | 
         | > I obviously can't do that, do you want your anch...
         | 
         | > Of course you can't! That would be reinventing the wheel! Let
         | me point you to the github...
        
           | vmception wrote:
           | I tried to move non-software related committee meetings to
           | github because I liked the collaborative process
           | 
           | thats pretty funny to me now
        
       | breakfastduck wrote:
       | This is the most infuriating thing ever. Plus checkouts that rely
       | on constant popups for authentication and confirmation which
       | usually get blocked too.
       | 
       | I basically have to switch to another browser to actually
       | checkout on anything because there's so many things I'd need to
       | disable to get them to work.
        
       | Jap2-0 wrote:
       | uBlock Origin commit mentioning this:
       | 
       | https://github.com/gorhill/uBlock/commit/8cd2a1d263a96421487...
        
       | randompwd wrote:
       | I also hate when sites use ever-changing 3rd party urls (e.g.
       | $randomchars.cloudfront.net)
       | 
       | Use uMatrix on a site for more than a week and annoyances will
       | show themselves. Twitch is the biggest site I've found that loves
       | ever changing 3rd party urls.
        
       | devney wrote:
       | Adblock doesn't break sites. If your site doesn't work with
       | adblock, that means your site is broken.
       | 
       | 27% of American internet users use adblock in some form. Better
       | go check right now that you're not losing 27% of sales to it.
        
       | DigitallyFidget wrote:
       | I've used adblock for so long that I completely forget it's even
       | there. Consequently, I also forget how shitty most the internet
       | is without it.
       | 
       | I never even thought about or realized that adblock may be why I
       | have had issues with many different online retailers. I just
       | assume "something is fukt with the site, or my browser, Vivaldi,
       | is at fault" and then just buy the product elsewhere or buy a
       | different/similar product instead.
        
       | wai1234 wrote:
       | Your checkout shouldn't trigger ad block. Stop slavishly bowing
       | to GA everywhere. I'm about to give you money. That's the only
       | 'analytic' you should care about.
       | 
       | I'm tired of being treated as little more than a data cow, always
       | ready for milking.
       | 
       | Just. Stop.
       | 
       | To the person who ignores people who complain because their 'non-
       | standard' browsers fail on their site, why do you have a site if
       | you don't care about your users accessing it? Ego much?
        
         | adrr wrote:
         | I've seen adblocks take out anti-fraud libraries, localization
         | libraries, accessibility libraries. They target things they
         | shouldn't.
        
           | mjevans wrote:
           | Load these things on the main website too, so it can be fixed
           | on the first page, not on the checkout page. Some of us train
           | the adblockers (at least locally) by whitelisting exceptions
           | to the default BLOCK EVERYTHING rule / the current rules
           | provided by the shared lists.
        
           | Nextgrid wrote:
           | "Anti-fraud" is just another word for spyware. If my bank
           | supports 3D-Secure then your exposure to fraud is zero and
           | you have no reason to stalk me for "anti-fraud" purposes.
        
             | adrr wrote:
             | No one uses 3D secure in the US. As a consumer I don't use
             | 3D secure because it shifts the liability on to me. Why
             | would I expose myself to that risk when using the card
             | number puts all the risk on the merchant?
             | 
             | There is also more than just unauthorized purchased. There
             | is also card testers that test to see if the card is still
             | valid.
        
               | Nextgrid wrote:
               | My point is that if there's zero exposure to fraud then
               | the purchase should go ahead regardless of whether the
               | anti-fraud libraries load or provide a negative result.
               | 
               | So this means that users who expose the site to fraud
               | must allow the anti-fraud libraries to track them, or
               | switch to a bank that offers 3D-Secure so that liability
               | is shifted to the bank and they no longer need to be
               | tracked. Seems like a win-win situation.
               | 
               | > There is also card testers that test to see if the card
               | is still valid.
               | 
               | Same scenario applies? If it's protected by 3D-Secure,
               | who cares? The bank will end up paying the cost of it,
               | not the merchant. If anything, this is a problem I'd love
               | to have, as it means if I can identify those reliably I
               | can keep pocketing money without even having to send out
               | any actual goods.
        
         | vinceguidry wrote:
         | I worked for an e-commerce outfit for several years. Let me
         | tell you they don't have massive budgets to use for R&D. Every
         | last one of them uses off-the-shelf solutions, they have to,
         | because they can't afford to pay a programmer to customize one
         | for them. Their marketing teams work around the limitations of
         | the software.
         | 
         | And they'd be absolutely blind without GA. There's no magic
         | window into customer behavior. If you were actually in a
         | physical store then they could look at you through the cameras.
         | This way they can know if there are basic problems with the
         | store.
         | 
         | With a website, they would have absolutely zero way to know
         | what your experience of shopping there is like without a tool
         | like GA. The only data they would have at all is sales numbers.
         | The experience of shopping online would be immeasurably worse
         | without it.
        
           | LaGrange wrote:
           | > And they'd be absolutely blind without GA.
           | 
           | Good.
           | 
           | > If you were actually in a physical store then they could
           | look at you through the cameras.
           | 
           | That's a gross idea to have.
        
             | vinceguidry wrote:
             | You must think a store is just a place managed by genies or
             | something.
        
               | LaGrange wrote:
               | I'm pretty sure it's managed by people, and doesn't need
               | to constantly surveil people to function.
        
               | xboxnolifes wrote:
               | No store owners I know manage their store through camera
               | feed.
        
           | mjevans wrote:
           | No excuse for breaking the website with the tracking though.
           | NULL is a valid field in databases for good reason.
        
           | FalconSensei wrote:
           | I agree with you on the importance of GA for the e-Commerce.
           | But you shouldn't actively prevent users from buying things
           | because GA is not not working (in that case, because of
           | uBlock).
           | 
           | Because of the pandemic, I go to stores wearing a mask. That
           | might prevent me being identified by the cameras (IDK), but
           | the cashiers still sell to me.
        
           | Beldin wrote:
           | No.
           | 
           | The standard web analytics tools of the late 90s basically
           | parsed the http log. Even those will give you info equivalent
           | to "looking through cameras".
           | 
           | You might want GA, you might even need it, but you're
           | absolutely not blind without it unless you choose to be so.
        
           | rascul wrote:
           | There might be other solutions besides Google, though. I'm
           | not knowledgeable in the field but Matomo [0] (used to be
           | Piwik) might be interesting, and there's likely other options
           | which might be better in some ways.
           | 
           | [0] https://matomo.org/
        
           | ehutch79 wrote:
           | Don't try and talk sense into the commenters here. Their use
           | case is the only one that matters, and they lack the
           | imagination to think that other people have different
           | budgets, time, or expertise than them.
        
             | throwaways885 wrote:
             | There are people here who believe Google Analytics is the
             | absolute devil, the reality is much more benign.
             | 
             | OP saying that "I am not a data cow" is just missing the
             | point. GA is logging when you visit the website, some
             | interactions like clicking a link, and generally not much
             | more than that. It is not indexing your hard drive or
             | downloading your photos.
        
               | vinceguidry wrote:
               | Go somewhere in person and there's probably orders of
               | magnitude more data being collected on your activities.
        
         | rchaud wrote:
         | What if I told you that the majority of people on a checkout
         | page, don't actually check out, but abandon the cart instead?
         | 
         | "How would you even know that?" I hear you ask. Well, that's an
         | interesting story....
        
           | dawnerd wrote:
           | Plenty of ways to get that data without invasive tracking
           | like GA.
        
             | shadowgovt wrote:
             | Is the invasive part that the data is going to GA or that
             | the failure-to-close-sale is explicitly being logged at
             | all?
        
               | dawnerd wrote:
               | abandoned carts are pretty commonly stored in a database
               | so a followup email can be fired off later in the way.
               | You don't need GA for this.
        
               | benhurmarcel wrote:
               | I hate when they do that. Obviously if I've abandoned the
               | cart I had a reason for it, most likely the shipping fee
               | is too high. If you haven't changed it don't spam me.
        
         | m463 wrote:
         | GA? Some carts have 20 other sites they contact.
        
         | sofixa wrote:
         | > I'm about to give you money. That's the only 'analytic' you
         | should care about
         | 
         | Yeah, but who are you? Are you an impulse buyer? Returning? Did
         | you spend an hour on the product page? Did you jump between 20
         | different product pages?
         | 
         | You can't deny that this kind of analytics can be very useful
         | for user conversion and website design. And the site in
         | question tries to do the proper thing, checking if GA works
         | before trying to do stuff with it, so it wouldn't just fail if
         | GA was blocked by the user.
        
           | LaGrange wrote:
           | > Yeah, but who are you?
           | 
           | I am none of your business.
        
             | sofixa wrote:
             | You, personally, are not. You, one of a cohort, kind of
             | are.
             | 
             | If i run an e-commerce site, and see the vast majority of
             | my users, but the minority of those that buy stuff, are on
             | mobile and from India, maybe i need to optimise my site for
             | mobile and lower-speed connections? Maybe something is
             | wrong with my payment for specific currencies?
             | 
             | If i run a blog, ans the majority of my viewers come from
             | France, maybe it's time i start writing localised content
             | in French?
             | 
             | You get the gist.
        
             | jfengel wrote:
             | If you're trying to buy from me, who you are is literally
             | my business.
        
               | hire_charts wrote:
               | And I'll happily fill out a form to tell you any
               | information I feel is relevant to my purchase. If you
               | want to covertly fingerprint and track me, I'll gladly
               | take my business elsewhere.
        
               | KeepFlying wrote:
               | What I buy from you is your business. The information I
               | give you to complete my transaction is your business.
               | 
               | Who I am is not.
               | 
               | You don't need to know if I have kids, have a disease, my
               | age, my race, my gender. You don't need to know anything.
               | Sure that information would help you make a better
               | experience for me, I get that. But that's up to me. If I
               | want a better experience, allow me to provide that
               | information in exchange for the benefits that information
               | gains me. But peeking over my shoulder as I walk through
               | your store so that you can overanalyze everything I do
               | isn't okay.
        
               | LaGrange wrote:
               | No it's not. My shipping and payment details might be, if
               | I decide to buy anything. Those are not the same as "who
               | I am."
        
           | bruce343434 wrote:
           | > this kind of analytics can be very useful for user
           | conversion and website design
           | 
           | Excuse my ignorance on web development, but why? How?
        
             | gpvos wrote:
             | It provides work for your marketing and sales people.
        
             | toast0 wrote:
             | Well done analytics can give the tracker a lot of
             | information about if the user got there from marketting or
             | other outreach, what they did on the site, and if they took
             | some action that's important to the site operator (buying
             | something, creating an account, posting, logging in,
             | whatever), and what page was the last thing they did before
             | they left.
             | 
             | If you're selling stuff, and you notice a lot of people
             | going partway through your checkout process and leaving, it
             | might be a sign that something in the process isn't user
             | friendly and improvement could benefit you. Especially if
             | the behavior has changed recently.
             | 
             | You might see that people come in from a marketting link
             | where you thought they'd like to buy A, but they rarely buy
             | A, and if they do buy something, they buy B; maybe it would
             | make sense to use that link to go to the sales page for B
             | instead, etc.
             | 
             | You could even notice that people who don't run your
             | javascript analytics still add things to the cart, and
             | start the checkout, but never finish, and take that as
             | something to investigate.
             | 
             | This isn't a defense of Google Analytics in specific, or
             | javascript analytics in general, this could be done
             | serverside with just a cookie to corellate across multiple
             | visits, or a session cookie within the same visit, or
             | instrumenting all the links and correlating that way.
             | Javascript could be used to remove tracking tags for
             | copying links, but have it when clicked; great if it works,
             | not the end of the world if it doesn't.
        
           | ookware wrote:
           | That's great, but all of that tracking is pointless if I
           | can't actually complete the sale
        
             | rchaud wrote:
             | That's not on TeeSpring, that's on Ublock Origin, which
             | replaces the GA object with a dummy. The user is running
             | code on their local machine that breaks his/her own ability
             | to complete the sale.
        
               | shadowgovt wrote:
               | And practically speaking, the back-stop is that if uBlock
               | Origin causes too many high-profile websites to break,
               | it'll get a reputation for degrading user experience and
               | fewer users will install it.
               | 
               | When two independently-owned systems on the web break
               | each other, "who needs to fix their stuff" is a question
               | more of social networks and business politics than
               | technology. TeeSpring's "fix" could be to pop a banner
               | that says "WARNING: uBlock Origin breaks this site and we
               | can't test for that."
        
               | inetknght wrote:
               | > _TeeSpring 's "fix" could be to pop a banner that says
               | "WARNING: uBlock Origin breaks this site and we can't
               | test for that."_
               | 
               | That'd be great. Then I, as a user of uBlock Origin, can
               | nope-out of the site before wasting too much of my time
               | and the site's resources.
        
               | OldTimeCoffee wrote:
               | That's not how it ends up working, though. People just
               | share screenshots or tell friends of the broken website
               | and people stop using the website not uBO.
               | 
               | And there are sites that will throw up a banner that says
               | 'Adblockers might break this, if you have problems
               | disable your Adblocker and try again' which is pretty
               | effective. Funny enough, in my experience, sites with
               | that banner tend to work with uBO enabled (probably
               | because they're testing it).
        
               | matheusmoreira wrote:
               | > that's on Ublock Origin, which replaces the GA object
               | with a dummy
               | 
               | There's absolutely nothing wrong with this. The blocker
               | does it because just deleting the object would let
               | obnoxious websites to detect its presence and punish
               | users for it.
               | 
               | The better question is why their checkout completely
               | breaks because of this. Their reliance on Google spyware
               | is 100% on them and they are losing sales because of it.
        
               | KeepFlying wrote:
               | That's on the site for requiring tracking to be
               | successful in order to take my money.
               | 
               | They shouldn't require tracking to succeed in order for
               | me to buy the product. If they want tracking, sure. But
               | be resistant to it erroring out. Don't let errors in 3rd
               | party tools prevent your user from getting their core
               | goals completed.
               | 
               | The same goes for client apps. Don't crash the app if it
               | fails to log to a file. Don't crash the app if it can't
               | sync your cache. Etc, etc. Don't let these unnecessary
               | conveniences get in the users way.
        
               | FalconSensei wrote:
               | The checkout shouldn't rely on GA.
               | 
               | Tracking should rely on the tracking service, not the
               | checkout process
        
               | JulianMorrison wrote:
               | If your site put a selfish arrogant tracker in the way of
               | completing the order... then you lost the sale. And the
               | customer, who won't be coming back. I don't give a good
               | god-damn about how it's "part of the site". It's not part
               | of the transaction, and you put it there, and it broke
               | things.
        
           | mitchdoogle wrote:
           | I always try to just these things based on physical
           | analogies. The clear analog for visiting an ecommerce store
           | is walking into a physical store with a shopping cart. Maybe
           | the physical store has cameras or some other way they track
           | people. In any case they probably aren't watching every
           | single customer to determine which aisles they walk down, if
           | they pick up an item without putting it in their cart, etc.
           | Let's say they are doing that though, for the sake of
           | analogy. It's strange to me that people are ok with that, but
           | let's move on..
           | 
           | Now, since an adblocker doesn't change anything anywhere
           | except on the end user's computer, the analog should be
           | something on the customer's person, or some part of their
           | behavior. So let's say the customer tries to avoid
           | identification by wearing a hat, and they purposely grab
           | every item and put it back on the shelf to mess with the data
           | about their shopping habits.
           | 
           | Do you think it makes sense for the cashier to refuse to
           | checkout anyone who is wearing a hat? Or if they spotted
           | someone who picked a few things up without putting them in
           | their cart?
           | 
           | Because I sure don't.
        
         | Dudeman112 wrote:
         | Unless you're a big or medium sized org, fixing an issue that
         | is seen by less than 0.01% of visitors is probably waaay down
         | the priority list on the backlog
        
           | ianhawes wrote:
           | I beg to differ, we've run into issues with ad-blocking
           | before and our target audience is definitely NOT on the tech-
           | savvy side.
        
       | AdmiralAsshat wrote:
       | Some critical sites I need to pay through are so fundamentally
       | broken by uBlock Origin and uMatrix that I've been forced to use
       | the embedded browser in the LastPass app.
       | 
       | Since they're utility bills, credit cards, insurance portals,
       | etc, I don't really have a choice not to use their services.
        
         | rchaud wrote:
         | Why not just use the default browser?
         | 
         | FF is my main browser, so for anything behaving in a finicky
         | way, I use Chrome, which doesn't have any extensions or Google
         | IDs attached to it.
        
         | priyanmuthu wrote:
         | You can just disable your ad blocker for the website.
        
           | AdmiralAsshat wrote:
           | There are some sites where I've tried fully whitelisting them
           | on uMatrix, and that's enough--so I give them a dedicated
           | Container Tab and use it that way. But there are others where
           | even with uB0 and uM completely disabled, the site still
           | refuses to let me sign in. I'm not sure if it's some
           | combination of Firefox's built-in tracking protection, or the
           | fact that I'm coming in through a VPN, or what: but at some
           | point, rather than spending a half hour fighting with it,
           | just signing in on my phone was easier.
        
       ___________________________________________________________________
       (page generated 2021-05-18 23:02 UTC)