Ruby on Rails for a Dubai startup: where it still makes sense, and where it does not
Where Ruby on Rails still makes sense for a Dubai startup, UAE hiring realities, and when a founder should choose something else.
Read the articleAnalytics
What to configure in the first afternoon, what to ignore entirely, who should own the account, and why most dashboards answer questions nobody asked.

Most analytics setup in Dubai produces a dashboard nobody opens. The tracking code goes on, the reports fill with sessions and bounce rates, and six months later the owner still cannot answer the only question that matters, which is where the enquiries came from.
The useful version is smaller than people expect. Six numbers, configured in an afternoon, owned by your business rather than your supplier. Here is what they are and what to leave out.
Everything an analytics setup in Dubai records is context for these six.
Enquiries, by source. Not visits. The count of people who submitted a form, called, or opened a message conversation, split by where they came from.
Enquiries by landing page. Which page people were on when they decided to make contact. This is the number that tells you what to write more of.
Visits to your three most important pages. Not every page. The three that matter to the business.
Mobile against desktop, for those three pages. Usually a surprise, and usually a reason to test on a phone more often.
Search terms bringing people in. From Search Console rather than from the analytics tool, because one is measured and the other is inferred.
Where people are. City level. Businesses here regularly discover that a third of their traffic is in a country they do not serve, which reframes every other number on the list.
Four metrics consume attention in most analytics setup work in Dubai and change no decisions.
Bounce rate, as a quality judgement. Somebody reading your opening hours and leaving satisfied looks identical to somebody leaving in disgust.
Average time on page. Measured by the gap between page loads, which means the last page of every visit is guesswork and a visitor who left their phone on the table looks deeply engaged.
Total sessions as a headline. It moves for reasons unrelated to your business, including bots and a single social post, and it tells you nothing about money.
Anything described as a score. Composite numbers hide the thing that moved, which is the only part you can act on.
None of these are wrong as measurements. They are simply answers to questions a small business is not asking, and every one of them on a monthly report crowds out a number that would have changed something.
The useful test for any metric is simple. If it changed by a fifth, would you do something differently? If not, remove it from the report.
An analytics setup in Dubai is an afternoon of work, and the order matters because each step depends on the one before it.
Create the accounts under your own identity. Analytics, Search Console and a tag container, all owned by the business. The setup process is documented and does not need a specialist.
Install one container rather than several separate scripts. A tag container means later changes do not require a developer, which is the difference between measurement that evolves and measurement that is frozen on the day it was installed.
Record the actions that matter. Form submissions, calls, message clicks. The supported events cover the common cases, and this is the step that converts a traffic report into a business report.
Connect Search Console. Free, and the only honest source of what people searched before arriving.
Mark your own visits as internal. On a small site, your team browsing it is a measurable share of the traffic.
Check the consent banner actually works. If it loads tracking before anyone agrees, it is decoration, and personal data collected through the site sits under the federal law regardless of what the banner says.
Three things are specific to an analytics setup in Dubai rather than anywhere else.
The message button is the main conversion. In this market more enquiries arrive by message than by form, and almost nobody records the click. Without it, every advertising report understates its own results, and our note on running that channel explains why the volume is so high.
Two languages need separating. If your site serves Arabic and English, report them apart. Combined, a strong performance in one hides a weak one in the other, and you will optimise the wrong version.
Traffic from outside the region needs labelling. Not removing, because some of it is genuine, but labelling. A conversion rate calculated across visitors who could never buy from you is a meaningless number that will make a perfectly good page look broken.
A fourth, smaller point. The working week here means the weekly rhythm in your data will not match a tool’s default comparison periods. Read the day of week report once before drawing conclusions about when people are interested, and remember that the pattern shifts again during Ramadan.
One page, same shape every month, five minutes to read. This is the only output of an analytics setup in Dubai that anyone outside the marketing team will ever see.
The six numbers with last month beside them. One sentence on anything that moved by more than a fifth, including the things that moved down. A note of what changed on the site or in the advertising that month, so next month somebody can connect cause to effect. And one question to answer next month.
That last item is what turns reporting into something useful. A report that only describes is read once. A report that asks whether the new service page is producing enquiries gets opened.
Whoever owns the analytics setup in Dubai, internal or a supplier, should be able to explain every figure without preparing. If a number needs a specialist to interpret, it is the wrong number for a monthly report.
If you already have something installed, check these five faults before adding anything.
The tracking code is on the site twice. Common after a redesign, and it quietly doubles or distorts everything.
Conversions are page views. If reaching a thank you page counts, then anyone who bookmarked it counts too, and the figure flatters.
The account belongs to a former supplier. You will discover this on the day you need it. Check now.
No filters, so your own staff are in the data. Particularly visible on small sites and on pages only your team visits.
Nobody has looked in a year. If the first person to open the report in twelve months is you, treat the historical data as background rather than as evidence.
Three situations justify an analytics setup in Dubai beyond the afternoon described above.
When you are spending meaningfully on advertising. The cost of not knowing which campaign works exceeds the cost of measuring it properly within a month or two.
When the sale happens away from the website, by phone, by message, or in person, and you want to connect it back. That needs a record on the sales side, not a better analytics tool.
When you sell online and need the full purchase path, because an incomplete store setup produces revenue figures that disagree with your accounts and nobody trusts either.
Outside those three, more measurement produces more charts rather than more decisions, and the afternoon version is genuinely sufficient.
There is also a cost to over measuring that rarely gets mentioned. Every additional script slows the pages it is measuring, and a site carrying four analytics products is paying for the privilege of watching itself load slowly. Remove what nobody reads.
For the work, analytics covers setting this up and reporting on it properly. If advertising is the reason you need it, what a paid search retainer should cover explains why measurement has to exist before the campaign does.
If the numbers are poor rather than missing, why a page collects clicks and no enquiries and what the speed measurements mean are the two places to look first.
Where the reporting needs to join data the website never sees, a sales system, an order history, an application your customers log into, that is a build rather than a tag. Codeeo handles that work in Dubai.
If you suspect what you have installed is not telling you the truth, give us access for an hour and we will tell you what is actually being recorded.
Straight answers
Yes, and for exactly that reason. Without recording the click on the message button you cannot tell which pages or campaigns send people into those conversations, so the channel carrying your business stays invisible in every report and the advertising that feeds it looks like it does nothing.
Your business, with suppliers added as users. An account created by an agency under their own identity takes the history with it when the relationship ends, and historical comparison is most of what analytics is for.
Monthly for most small businesses, and after any significant change. Daily checking of a site with modest traffic produces anxiety about numbers that are mostly noise, and encourages reacting to variation rather than to trends.
If you are collecting personal data through the site, the federal data protection law applies, and a consent banner should actually control what loads rather than appearing after the tracking has already started. Plenty of banners in this market are decorative, which is worse than not having one.
There are lighter analytics products that load less code and collect less personal data, and for a small brochure site they are often enough. The trade is fewer features and no connection to advertising platforms, which matters only if you advertise.
Sources
Fixed price, in writing
Got it. Your quote is being written now.
In business hours you will have it within 45 minutes. Check your inbox for the confirmation.
Keep reading

Where Ruby on Rails still makes sense for a Dubai startup, UAE hiring realities, and when a founder should choose something else.
Read the article
Choosing a CMS for a UAE business by who edits it, what it integrates with and who maintains it, not by which platform sounds most impressive.
Read the article
Laravel against WordPress for a Dubai business: where a content site ends, an application begins, and what happens when WordPress is pushed past that line.
Read the article