dennisgorelik: 2020-06-13 in my home office (Default)
Today I talked with a small marketing agency owner about marketing my business (PostJobFree).
Initial conversation was scheduled for 30 minutes, but we talked for ~1.5 hours.

He started with asking about my business (sources of revenue, problems, where we are getting leads, who is doing sales and marketing, ...)

Then he swithced to the pitch: use their marketing system to setup drip email campaigns (and later LinkedIn and social media campaigns).

According to him, the key to success is in consistency of sending marketing messages (e.g. every week or every 2 weeks or every month), because average sale happen only after 5-7 interactions.
That seems reasonable.

On another hand, he is a generic marketer, without particular focus on job boarding business. So he was lacking job boarding industry insights.

I think it is important to be an expert in whatever you are marketing, otherwise marketing messages sound like generic spam.

He asked me "what budget would be ok for me to spend on marketing like that".
I was not certain, and asked for a small experiment (try to grab a small low-hanging fruit with minimal effort - in order to prove that this marketing approach works).

In the end, the marketing solution he proposed turned out to be $3000 - $5000 per month (or even more with more active marketing engagement).
Which seems to be a bit expensive experiment to me, considering that he is not an expert in job boards business.

From another perspective, full-time marketer salary could be even more than that.

Update: Marketer refuses to work on hourly base
dennisgorelik: 2020-06-13 in my home office (Default)
Today we discovered and fixed a bug that was running in our backend system for 5 years.
In theory, I know that there are long-running bugs in most complex systems. This bug was one of such practical confirmations.

The correct SQL code should have been:
NonDeliverableEmailResumeUCleanup.cs/MarkResumeUDeletedForSpamComplaint()
exec spProcessPointerGet ...
select ...
update ...
exec spProcessPointerSet ...

But due to the bug, instead of "spProcessPointerSet" MarkResumeUDeletedForSpamComplaint() had "spProcessPointerGet" (second time), so "MarkResumeUDeletedForSpamComplaint" ProcessPointer did not move after finishing batch processing.

Still this buggy system worked.
MarkResumeUDeletedForSpamComplaint() kept reprocessing spam complaint records from the beginning - instead of processing only unprocessed spam complaints.
Finally, 5 years after writing this buggy code, one of the users complained that PostJobFree deletes his resumes several minutes after he post them. We started to investigate and, eventually, found this bug.
dennisgorelik: 2020-06-13 in my home office (Default)
I just spent 4 hours on the phone talking with a scammer.

He started with telling me his fake business story: petroleum drilling operations and hiring security guards to protect these drilling operations.
He explained that they are only hiring Americans, even for work overseas, because he is a big American patriot.

Then he told me his life story (he's 69 now), and, eventually, his true business story.

He sells background checks to "security guard" job seekers for $198 per report.

He promises to job seekers that these background checks go directly to the prospective employer that may hire them for $71,000 - $100,000 per year (too good to be true).

He ran his "Internet business" for about 20 years and changes about 20-30 identities (personal names, corporations, bank accounts, websites) over these years.

He likes President Trump, because Trump is selling hope and is successful at that.
His business somewhat declined since Trump become a President, because more people have jobs now, so the demand for hope is not as high.
His business at the times when "Black President" was at power was more successful (thanks to high unemployment) and he sometimes was making more than $1,000 per day.
dennisgorelik: 2020-06-13 in my home office (Default)
Edward from Google Ads (former Adwords) asked me to change my "Post jobs for free" ad campaign strategy from "target cost" to "maximum conversions within budget".

This is an annoying tactic of a short-sighted salesperson that sells ads.

What Edward calls "budget" is, actually, an "ad spending limit" that I use as a protection against accidental overspending due to mistake in my ad campaign settings.

My wish is NOT to spend my "budget" every month. I want to get an optimal results for my money (more recruiter registrations per $ amount spent).
If I am getting good results - I may increase my budget. But spending my whole budget every day simply because I defined that "budget" -- is a sloppy advertising strategy.

It is funny how Edward confused "budget" and "spending": my "PostJob-ResponsiveSearchAds" campaign has $7/day budget and zero spending, but Edward said that "PostJob-ResponsiveSearchAds" campaign "is spending 7 dollars on".

I told Edward that I do not need his advice, because I do not consider it relevant to my goals.
dennisgorelik: 2020-06-13 in my home office (Default)
In order to protect Facebook business in France, Mark Zuckerberg put on his business suit with a tie and fly to Paris to please Emmanuel Macron:


What would you do to protect your business (or your job)?
dennisgorelik: 2020-06-13 in my home office (Default)
Based of my sad experience with Google Drive I decided to file a refund.
I went to Google Play, chose "Report a problem", selected "Purchase is defective or doesn't work as advertised" and explained that Google Drive cannot upload some large backup files.

This is email reply from Google Play:
========================
From: googleplaynoreply@google.com <googleplaynoreply@google.com>
To: p...j...f...backup@gmail.com
Date: Monday, November 12, 2018, 7:52:28 AM
Subject: About your refund request from Google Play
========================
Hi,

We received your refund request for 200 GB (Google One), but we can't
provide a refund for this purchase because it doesn't meet with our policy.
We apologize for any inconvenience caused.

You can learn more about our Google Play refund policies here
https://support.google.com/googleplay?p=refund_policy_cr

If you need help activating or using an item that you purchased, it is
often faster to contact the developer directly. You can find developer
contact information on the app's page in the Play Store
<https://play.google.com/store> under the "Developer" section or on your
order purchase receipt.

To prevent accidental or unwanted purchases in the future, we recommend
that you turn authentication on
http://support.google.com/googleplay?p=authentication_cr or change your
password https://myaccount.google.com

Thanks,

The Google Support Team

Google Inc.
1600 Amphitheatre Pkwy
Mountain View, CA 94043 USA
========================

Yet another $29.99 went into a black hole for negative result.
dennisgorelik: 2020-06-13 in my home office (Default)
Main source of revenue for PostJobFree now is advertising jobs from other job boards on CPC (cost-per-click) basis.

It works like this:
1) Advertiser (job board) gives us a link to their XML job feed.

2) Every job element in that XML job feed has associated CPC bid (or we use default CPC bid for the whole job feed).
Typical CPC bid is around $0.20/click, but it usually varies between $0.08/click and $0.50/click.

3) After some cleaning, PostJobFree saves all job feeds into a unified list of jobs (database table + ElasticSearch index).

4) When job seekers are searching for jobs, we prioritize jobs according to:
- How well this job posting matches with what job seeker is searching for.
- Advertiser jobs quality, that we measure as "clicks/unsubscribe" ratio -- based on clicks history for that specific advertiser (the higher clicks/unsubscribe ratio - the better).
- CPC that advertiser pays for jobs (the higher CPC bid is - the higher this job will be listed in search results).

5) After the end of month - PostJobFree generates invoices and emails them to the advertisers.

6) Advertisers pay on "Net 30" basis. That means "pay within 30 days from invoice period").

Usually, this CPC advertising business in uneventful, but sometimes a bit unusual email exchanges happen.

In the email exchange below an advertiser (a buyer that represents job board "Mumu") and I resolve a discrepancy between "PostJobFree outgoing clicks" number and "Mumu incoming clicks" number.
(I changed names and simplified/trimmed this conversation a little bit).

Advertiser
Hi Dennis,
We see some discrepancies for May in our numbers
PostJobFree invoice: $269
Mumu internal counting: $223
We are asking for an invoice reduction of $32

Dennis
1) You are welcome to pay that corrected invoice amount ($237).

2) Going forward could you please adjust (reduce) your bids in order to accommodate the discrepancies.
We may assume that discrepancies next month would be similar to discrepancies in May.
So, your bid should, probably, be about 12% less.

3) Do you measure your CPA conversions from PostJobFree traffic?
Does it perform better or worse than you expected?

Advertiser
1) Great. Have the invoices been re-sent?
2) I will ask for the bid mins to be reduced, no problem and thanks for the suggestion.
3) No, we measure conversions based on intention to apply, you perform very well!

Dennis
1) We did not resend invoices.
Our invoicing system currently does not support sending corrected invoices.
If it is important for you - we may send you manual corrected invoice, but this is labor-intensive.

2) Please note that if you reduce your CPC bid then PostJobFree would send you less candidates going forward.
That may or may not be the right course of action, depending on how satisfied you are with current results (e.g. "cost per application").
If you are satisfied with the results - bid the same.
If results are better than your target CPA - bid more.
If CPA is below your target CPA for that campaign - going forward bid less.

Does it make sense?

Advertiser
Thanks for the additional info.

We'll leave the bids the same, especially since it seems to be easy enough to share the discrepancy and bill off our numbers.

I'll ask our AP team if it's ok on our side to pay (our numbers) without you needing to re-issue an invoice.

Dennis
1) While one-time invoice correction is OK, it is not OK to correct our invoices on a regular basis.

If you want to have long-running adjustment - please lower your bid (and, correspondingly, have lower traffic from us).
We are running an auction [advertisers bid for job seekers' attention] and it is not ok to bid more than what you are going to actually pay (not in a long term anyway).

2) I appreciate traffic analysis on your end. It brings an interesting feedback.
In response to your feedback we may, eventually, tweak our system a little bit (e.g. discourage out-of-country candidates even more than we do now).
But there are only 2 immediate actions we can take right now:
- Allow you to pay discounted invoice (once).
- Bid less if you think that our job seekers' traffic does not worth what we charge for it.

Does it make sense?

Advertiser
Since we haven't had these discrepancies in past months, I would like to see what we see next month.

Both of the options you present penalize Mumu... either we pay for traffic that we wouldn't charge our own clients for, or we bid lower and see less traffic... neither of those are great solutions to me. I'd much prefer something that suits both you and us - we generally allow a 10% margin of error, for example, and only reach out for reconciliation when a discrepancy goes outside this range.

Dennis
1) We do not single out Mumu.
We are sending traffic that we have to all advertisers (at the prices that advertisers bid).

2) If occasionally you see lower quality traffic from us, then the best course of action - is to bid a little bit less.
For example, if once per 4 months you see 20% decrease in quality of PostJobFree traffic, you may want to bid 5% less than you would otherwise bid. In the course of ~4 months that would compensate for occasional decrease in traffic quality.

3) It is still nice to receive your analysis of our traffic quality, especially if it is something that you did not see before.

4) I suggest to increase "margin of error threshold" from 10% up to 20%
Smaller changes are easier to address by adjusting CPC bids.

Reconciliation process is time-consuming and only makes sense when quality changes significantly from regular level.

Advertiser
Thanks Dennis,

I appreciate you taking the time to go through the 'theory' behind your advice - it makes sense.

We'll definitely take it under consideration.

Have a nice afternoon
dennisgorelik: 2020-06-13 in my home office (Default)
For many years already I am using Skype Phone (1-904-425-9555).
I receive incoming calls from all over the world, call to the US and Canadian numbers every day and occasionally call to international phone numbers (India, UK, Russia, Australia, South Africa, Nigeria, etc.)

Skype charged me less than $90 per year.
Here are my transactions for the last year:
--------
Skype Number, 12 month subscription $40.12 (charged in February 2017)
Unlimited US & Canada 12 months $26.88 (charged in February 2017)
Skype Credit (for outgoing calls to other countries) $10.00 (charged in June 2016)
--------

Skype is a little bit messy with their billing (not immediately clear what "You sent a payment of $26.88 USD to Skype Communications Sarl
(paypalpayments@skype.net)" mean), but after finding out how much does Skype Phone actually cost to me - it seems like a good deal.

What do you use for your phone?
dennisgorelik: (2009)
Подскажите Максиму:
-------
В этой истории нет программистов, EXE — сугубо математический проект в котором ГРУБО-ГОВОРЯ один ебанутый буддист беспредельшик, а второй сумашедший математик с третьей степенью инвалидности. Жду рассказа KNOW HOW устроить успешный производственный процесс.

С разных сторон желательно!
-------

Update:
Оказывается это была псевдо-научная разводка корпоративного спонсора.
dennisgorelik: (2009)
---
http://www.ribbonfarm.com/2009/10/07/the-gervais-principle-or-the-office-according-to-the-office/
Of all organization men, the true executive is the one who remains most suspicious of The Organization. If there is one thing that characterizes him, it is a fierce desire to control his own destiny and, deep down, he resents yielding that control to The Organization, no matter how velvety its grip…
---

"Suspicious" part is about me.
Not only I do not trust my organization, I do not fully trust anybody (or trust, but verify).

Just today a developer told me that I like to test a lot (e.g. test if product documentation and my understanding of that documentation actually matches with reality). In his mind I test too much.

Now I think I do not test enough.
Consider what happens with organization if it does not have enough suspicious people:


Thanks to Дмитрий Васильев
dennisgorelik: (2009)
Google Maps was an excellent product when it was released back in 2004:
1) It was convenient (allowed map drag&drop and zoom in/out with mouse).
2) It was fast.

But then founders left, incompetent middle managers took over, and decline of Google Maps team began:
1) Now Google Maps is much slower than it was.
To understand how much slower - you should try using old version of Google Maps that is still available at https://www.google.com/moon/
Current Google Maps is about 5 times slower on zooming in/out that Google Moon (old Google Maps framework).
2) Google Maps is not even able to show cursor on their location "Search Google Maps" input textbox:
https://www.google.com/maps
Immediately after load cursor blinks once and then disappears (in Google Chrome. In Internet Explorer cursor stays visible).
Even Microsoft Maps team is able to keep cursor visible in their address input Inbox: https://www.bing.com/mapspreview

Anyway, that was just a preface, here is my today story.
That story is about my interaction with Google Maps API team.

Google Maps API sales squeeze
Couple of days ago Google Maps API team introduced changes in their pricing:
---
http://googlegeodevelopers.blogspot.com/2016/06/building-for-scale-updates-to-google.html
1. We no longer support keyless access (any request that doesn't include an API key).
...
3. We have reduced the daily map load maximum limit you can purchase for Google Maps JavaScript API... from 1,000,000 to 100,000 requests per API.
4. We now count Google Maps JavaScript API client-side requests towards the daily limit of the associated web service API.
---

It is actually hard to understand what they mean. Here is the gist of it:
1) Google Maps usage by users from browsers that was free in the past - is not free anymore.
2) Reasonable standard plan prices were available earlier for up to 1M requests per day.
Now that limit is 10x lower at 0.1M requests per day.

You might think it is not a big deal to go up and switch from Standard Plan to Premium Plan when you scale your business.
I thought that too. Until I finally managed to find out how much Premium Plan costs.
Premium Plan costs 40 times more than Standard Plan.
40 times, Karl!

Standard plan is $0.50 per 1000 requests.
Premium plan is $20 per 1000 requests.
(That is approximation. Actual prices are a little bit lower due to free quotas every plan has).

But wait, there is more.
Premium plans starts at $10000/year minimum.

And more:
-----
https://developers.google.com/maps/pricing-and-plans/
Premium Plan: If you charge a subscription fee beyond the Play or App stores, you require the Premium Plan. Web service APIs and the JavaScript API require the Premium Plan.
-----
If you believe that statement, then pretty much everyone who uses Google Maps Web service API (e.g. geocoding) or JavaScript API (typical Google Maps snippet on the web site) must subscribe to Premium Plan and shell out $10K/year.

On the other hand, it contradicts with the whole idea for the Standard Plan pricing.
Who does qualify for Standard Plan pricing, if everyone must use Premium Plan anyway?

I wanted to clarify that Premium Plan issue and spoke with Gregory from Google Maps team. He told me that we must pay, because we have premium subscriptions for our product.
It did not matter that we are well below 100,000 requests per day (we average about 2,000 geocoding requests per day and about 25,000 map requests per day).
It did not matter that 99% of our usage is free for our users.
According to Gregory, because premium users use our product (job postings) and our product uses Google Maps Geocoding, we must use Premium Plan.
Gregory did NOT give me any examples of businesses that qualify for Standard plan pricing.

Analysis
I think Google Maps API team managers intentionally crafted such a vague "Standard Plan vs Premium Plan" message.
It allows them to sit on two chairs at the same time:
1) Squeeze businesses for more money.
2) Soften public outrage from that squeeze and encourage startups to start using Google Maps API.

I think that this strategy is wrong and indicates incompetence of Google Maps API management team.
Confusing and squeezing customers like that is not a sound business practice.

My guess is what Google Maps API management is trying to do now with most businesses - is the same strategy they used for years with largest web businesses. That explains why big web sites rarely use Google Maps and use Bing Maps instead (e.g. Zillow). Microsoft treats their business customers much better than Google Maps team does.

What is next?
Here's my business plan so far:
1) Remove Google Maps from postjobfree.com
It is not clear if having maps is beneficial to our users (job seekers and recruiters).
2) Consider switching to another geocoding provider.
E.g.:
- OpenCageData - $100/month for up to 20,000 requests per day.
- developer.here.com - $59/month for 150,000 geocoding requests per month.

What do you think I should do?
1) Do you have a recommendation for good geocoding service?
2) Are maps valuable on job and resume pages?

Update 1:
Select transcript from conversation with Gregory
===================
[0:55:22]
Gregory: We still have cost on our side. We have to run a business. There is whole a lot of overhead in that map... Especially in terms of keeping it up to date, keeping it accurate, keeping it at scale. So, 10 thousand dollars is the minimum we came up with.
And you can argue it is not appropriate and fair. And I tell you very honestly - you won't be alone. But at the end of the day it is still $10K.
.....
[1:07:10]
Gregory: The big reason that we switches at the beginning of the year [2016] and started offering Standard and Premium plan was to cast a wider net. And to get more people like yourself that are longer tail into using our maps. But again, this is where I know you may find a difference, but there are some cases where you just can't fall into the Standard. But there are a lot of people who are able to use the Standard now and, you know, pay as they go, and grow and everything. But certain use cases just didn't qualify. And I think that's the part that you've just haven't been able to accept. Because of either you are saying your are small and not profitable [DG: I did not say that I'm not profitable] I totally clear you loud and clear on that. Or you are not offering something that's paid.

And I think you are trying to use it on both sides, when you are saying it's free and paid. And I explained to you when it's both we've been given a directive that the paid trumps the free.
[1:08:20]

[1:09:20]
Gregory: I think at this point we just need to follow the truth. So, how do you wanna leave it. What actions do you need on our side.

Dennis: I guess nothing. Let's keep going as we were going. Google already charges me. You lowered the quotas. So now I'm more likely to hit this. You started to charge for something that was free before. And I am fine with this.
But I am not fine with you increasing it straight to $10,000 right now.

Gregory: No. I'm not gonna do that. If you won't signing the contract - it won't happen. But I can't control what our Compliance team is doing and how they are checking. And if they check and call then it is something that has to be dealt with between you and the Compliance team.

Dennis: My understanding is that the Compliance team probably would be interested in insisting on Premium License when we are closer to 100,000 requests per day. May be not reach it, but close.

Gregory: [laughing in ironic "Steve Balmer" style] I love how you are taking this assumption.

Dennis: And you know why I'm taking this assumption? Because Google actually lowered that quota from 1 million to 100,000 requests per day.

Gregory: You are referring to the blog post? Is that what you are referring to?

Dennis: Blog post and emails that I received. The change that happened few days ago. The limit was 1 million...

Gregory: Do you have the copy of the letter you received?

Dennis: Yes I have.

Gregory: Do you mind just sending it to us? So I could share.
Because this is actually good feedback, Dennis.
Because I could say "this letter has customer thinking. This is how this should be interpreted".
And again, we need to recognize if that's, you know, unclear or ambiguous, so we don't have people like you, you know, worried about or confused. We should try to make it clear. You should send it to me at gregory at google dot com.

Gregory: I think the best thing to do... I really think it would be wise to bounce it off someone on your team, ideally a legal person.
And again if you feel like your use case needs more scrutiny on our side, if you can just put that in writing - what your use case is -- I'm happy to share it with our team members.

Dennis: One more thing about Premium. Say, some time in the future I finally switch to Premium.
$10,000 is the minimum fee. But how is it defined? There is no upper boundary, right?
Like what is the charge?

Gregory: [Laughing] "There is no upper boundary", oh boy. Jeremy, what do you think: "OEM"? Or something else?

Jeremy: Yeah.

Gregory: So you'd get 500,000 map credits per year. And the map credit is defined as the load of the map. The visual load of the map is the map credit. So you'd get half million of those.
You'd get free 100,000 geocodes per day. You go over that - then it would start to decrement your map credit.

Dennis: Ok. Free - 1,000

Gregory: No-no. I did not say 1,000. I said 100,000. Geocodes.

Dennis: Ok. 100,000 geocodes. With Standard it's like 2,500.

Gregory: Right.
.....

[1:14:17]
Dennis: And if it is above 500,000 then what is the price?

Gregory: We have different tiers. If you are just barely over, you can just get another quantity of 500,000.
If it looks like you are about double that rate, you just sign up for quantity 2, so you get a million at $20K.
But as far as price break - I think 5 million.
===================

Update 2:
According to this explanation, postjobfree.com does NOT fall under any of cases below that require Premium Plan:
-------------
https://developers.google.com/maps/faq#understanding-terms-of-service
Can I use the Google Maps API on a commercial website?
As long as your site is generally accessible to consumers without charge, you may use the Google Maps API. For example, if your website is supported by advertising, it likely falls within the Google Maps API Terms of Service. If you charge people to place information on your map (e.g. to list their homes for sale), but you display this information using the Google Maps API on a free part of your site, you'll also meet the Google Maps API Terms of Service.

However, not all commercial uses are allowed. For example, if your site meets any of the following criteria you must purchase the appropriate Google Maps APIs Premium Plan license:
- Your site is only available to paying customers.
- Your site is only accessible within your company or on your intranet.
- Your application relates to enterprise dispatch, fleet management, business asset tracking, or similar applications.
Remember, Google reserves the right to suspend or terminate your use of the Google Maps API at any time, so please ensure that you read the Terms of Service carefully.
-------------
So Gregory's claim that PostJobFree must use Google Maps API Premium Plan contradicts to that explanation.
I guess Gregory is hard pressed by his bosses to push more Google Maps API users to Premium Plan.
And his bosses probably got a "get profitable or die" message from their superiors.

Links:
Quora: Google Maps API vs Bing Maps API: which is more cost efficient to use?
StackOverflow: Google Maps geocoding vs Bing Maps geocoding
dennisgorelik: (2009)
My LinkedIn account is active again.
See: Your LinkedIn account has been temporarily restricted

When LinkedIn blacklisted my account, my best guess was that I was banned for inviting people to connect who I personally did not know (I did a lot of invitations like that - mostly to people who already have 10+ shared LinkedIn connections with me).
But no. It was not that.

It was that I mentioned my web site (postjobfree.com) in occasional LinkedIn private messages that I sent through LinkedIn to my direct contacts.
I could not find anything against mentioning my web site in private messages in LinkedIn Don'ts.

I probably sent less than 3 LinkedIn private messages per week (and only some of these messages included my web site).
For comparison: I sent ~10 times more LinkedIn invitations (without any message).


Anyway, it seems that LinkedIn customer support is somewhat responsive.
It takes them couple of days to reply.
However if I just hit "reply" in my email - my reply goes to the black hole.

===================================
LinkedIn Response (05/11/2016 10:55 CST)
Hi Dennis,
 
Thanks for complying and adhering with our policies. The restriction has been lifted from your account.
  
Brent
Safety Operations
Member (05/10/2016 22:38 CST)

Country of Residence: United States

Please explain why you believe that the account restriction is in error.: I did not know that I could not mention my web site (postjobfree.com) in my private messages to my direct connections.
Now that I know that - I will try not to mention my web site and will try to send even less private messages overall (I did not send many in the first place).

Do you have any additional information to add?: It is response to
this reply from LinkedIn customer support:
----
Hi Dennis,
I'm sorry it's taken this long to get back to you and thanks for being so patient.

Thank you for the email. We have received complaints from members stating you are messaging them regarding your website which is against out user agreement and we treat it as spam.
The account restriction will be lifted once you respond stating that you'll adhere to the LinkedIn User Agreement and Privacy Policy from this day forward.
Sincerely,
Shanky
Safety Operations Support Specialist
----

It looks like my email reply to Shanky disappeared.

By clicking the box below, I certify that I have read and agree to LinkedIn's, Do's and Don'ts and User Agreement: I agree

Typing your full name in this box will act as your digital signature.: Dennis Gorelik
===================================

Update (per mehanizator request:
My LinkedIn: https://www.linkedin.com/in/dennisgorelik
dennisgorelik: (2009)
---
http://www.nytimes.com/2015/12/03/business/dealbook/yahoo-chief-has-run-out-of-time-for-a-turnaround.html
Yahoo’s market capitalization is $33 billion. Its stake in the Chinese Internet firm Alibaba is worth $32 billion alone. Throw in its $9 billion stake in Yahoo Japan and net cash on its books, and the market is valuing the company’s core business at less than zero — even if it has to pay capital gains taxes on its overseas stakes.
---

It's clearly a time to split Yahoo.
dennisgorelik: (2009)
Just updated "About us" page:
http://www.postjobfree.com/about

This time I de-prioritized SEO considerations and focused on answering visitor's question: "Why do I need this PostJob* web site?"


--
* When I talk with users on the phone, they frequently call web site "Post Job" or "Post Free" instead of "PostJobFree" simply because they do not remember full web site name.
Most people are busy with their own business and rarely care much about other stuff.
dennisgorelik: (2009)
A/B testing (and multivariate testing) has its appeal:
1) Try two different combination of a web page
2) See what converts [into goals, such as registrations or sales] better.
3) Keep the best performing version of the page.

But it has problems too. One of this problems is that A/B testing adds complexity to your system.
Not only you have to create two different versions of the page, but you also have to add testing scripts, setup goals, measure the performance of every variation.

Extra complexity to your system means more bugs in your system and slower development of other features.

Today I got an ironic example of A/B testing flaws.
In order to setup A/B testing on my website we registered account on Visual Website Optimizer (VWO).
Today I tried to pay on VWO in order to upgrade to premium membership.
I was NOT able to.

Here's how it went:
1) I tried to pay with American Express.
Got "Failed to authorize: Authorization Failed"
Got verification call from AmEx. Confirmed that transaction is valid (most likely that verification was triggered by the fact that Visual Web Site optimizer is based in India, not the US).
4) Tried to pay with PayPal.
Got no errors in PayPal popup, and no messages on Visual Website Optimizer.
But transaction did NOT complete.

VWO checkout page lists non-working phone number in India: +91 9868221372 ("The number you are calling is either switched off or not available at the moment")

"Contact Us" link points to:
https://vwo.com/%23contactus
404 Page Not Found

5) Actual Contact Us page shows 3 phones.
I tried two of them:
+1 844-822-8378
+1 415-349-0105
Both lead to answering machine.

Granted, it's Sunday today. Hopefully they would resolve it on Monday.

I know that VWO team "eats their own dog food" and run A/B tests on their web site themselves.
That adds complexity and extra stress to their engineering process up to the point where they are not able to diagnose and fix basic bugs (wrong phone numbers on checkout page, non-working links, failing billing system).

I know that testing is still important and A/B testing occasionally makes sense. But sacrificing quality of your system in order to constantly run A/B tests is clearly an overkill.

Profile

dennisgorelik: 2020-06-13 in my home office (Default)
Dennis Gorelik

May 2025

S M T W T F S
    123
45678910
11 121314151617
18192021222324
25262728293031

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 21st, 2025 09:50 am
Powered by Dreamwidth Studios