AKAntonios Kioksoglou
Contact
Questions

Questions and answers

Plain answers about AI engineering, Meta Ads and e-commerce, in my own words.

About Antonios

Who is Antonios Kioksoglou?

I’m Antonios Kioksoglou, a software engineer and technical founder in Gothenburg, Sweden. I’m CTO and co-founder of Zalster, a SaaS for optimizing Facebook ads, and I work where AI, e-commerce, marketing technology and product development overlap. The About page has the story, football included, and the candidate summary has the facts in plain text.

What do you do with AI?

I build AI agents and AI-powered products, and I build software with agents. Claude Code and a few narrow sub-agents (a builder, a reviewer and an integrator) write the first draft, while I write the spec and read every diff. The Software page shows the setup, the house rules and an example eval log.

Where are you based, and which languages do you speak?

I’m based in Gothenburg, Sweden. Swedish is my native language, and I work professionally in English and Greek.

AI engineering

What does an AI engineer do?

An AI engineer builds software on top of large language models: agents that use tools, the data and integrations around them, and the tests that show whether the whole thing works. In my own work that means a written spec first, agents with only the access they need, evals that gate changes, and a person reading every diff. The model is one part of the system. Most of the work is the rest of it.

How do I make my site easy for AI answers to read?

Put the text you want quoted in the HTML, not in a script. Give images and embeds their sizes, serve your fonts yourself, give every page its own title and description, and keep structured data to what the page says. Google’s own guide says there are no additional requirements for its AI features and that Google Search does not use llms.txt. The article has the numbers from this site and a ten-minute test.

How do you stop an AI agent from breaking things?

With four rules: spec first, every diff read, read-only by default, and tests and evals that gate every change. Agents never get production. Writes to live data go through a reviewed path, and anything that touches money, permissions or deletion is read twice. The reasoning is in How I work on the Software page.

What is an MCP server, and why would an agent need one?

MCP, the Model Context Protocol, is a standard way to give an agent tools and data. An MCP server exposes a narrow set of actions, such as reading an account or a support log, so the agent can work with a store, a CRM or a database without being handed the keys to everything. The Software page has an example, and this article shows a read-only setup for GA4, Google Ads and BigQuery.

Marketing analytics and Meta Ads

How can AI help with marketing analytics?

Mostly by making small decisions cheap: sorting leads, search terms, reviews and campaign names into clear categories that people can act on. I wrote up seven such jobs and the checks to run first. For the numbers themselves, the sample reporting workspace shows what I look at first in an account: revenue, spend, MER, new-customer cost and what to fix first.

What does a marketing analyst do?

A marketing analyst turns spend, traffic and order data into decisions: which channels earn their budget, which campaigns to fund or cut, and what the numbers cannot tell you yet. For an e-commerce brand that means checking the tracking first, then revenue, ad spend, MER, new-customer cost and a short list of what to fix. I do this work for e-commerce brands, and the sample reporting workspace shows how I look at an account.

What is MER, and why track it next to ROAS?

MER, the marketing efficiency ratio, is total revenue divided by total ad spend across every channel. ROAS is reported by each platform and counts only the orders that platform claims, so the platforms can add up to more revenue than the store took. MER uses the store’s own revenue, which makes it blunt and hard to attribute away. A MER of 4 means the store took in four euros for each euro spent on ads.

How do you decide where an ad budget should go?

I start from the store’s own orders, not the platform reports, and do the data analysis there: revenue, spend and MER by week, then the cost of a new customer and the margin and returns behind it. After that comes marginal return, meaning what the next euro buys in each channel, because the average hides it. At Zalster a Bayesian algorithm and regression analysis do this for Facebook ads, and on a small budget I judge changes over weeks, not days.

Which analytics and reporting tools do you use?

GA4 for the event model and e-commerce reporting, and Piwik PRO where a client wants analytics, tag management and consent in one suite with a choice of where the data is stored. BigQuery holds the raw data, and Looker Studio, or Looker Studio Pro when a team needs shared workspaces and scheduled delivery, turns it into dashboards. The Analytics tab on the Marketing page shows how each is used and checked.

What happens to analytics when a visitor declines cookies?

It depends on the tool and the setup. With GA4’s basic consent mode nothing is sent. With advanced mode GA4 receives cookieless pings and can model the missing visits, but only above Google’s thresholds: 1,000 events a day with consent denied and 1,000 consenting users a day. Piwik PRO can record anonymous visits instead, with the IP address masked, the country only, and sessions tied together by a hash or a 30-minute cookie. Whether that is allowed is a question for a lawyer. This article compares the two.

What is server-side tracking, and does a store need it?

Server-side tracking sends events such as purchases from your own server to the ad platform, not only from the visitor’s browser. Browsers block scripts, cookies expire and consent is required, so browser-only tracking misses orders. The usual fix is the browser pixel plus Meta’s Conversions API, with each order sent once and matched by an event ID. The checklist for a store is in this article.

How many campaigns and ad sets should a small store run on Meta?

Start with one campaign and one ad set, optimized for purchases. Meta needs roughly 50 optimized events a week per ad set to leave the learning phase. On the conservative assumption that a sale costs about what the product sells for, a store with a €60 average order needs about €430 a day to get there. Spread thinner than that, one ad set is better than five. The arithmetic is in my article on Jon Loomer’s Master Brief.

How do I know whether Meta’s reported results are real?

Compare them with the store’s own orders every week, expect the two to differ, and look for a boring explanation before suspecting Meta: an event set up on the wrong page, a deduplication problem, or one person buying several times. Treat purchases counted from a view as weaker evidence than purchases counted from a click, and keep one number that no platform can attribute away: total revenue divided by total ad spend. The full method is in my article on reconciling Meta, GA4 and the store.

What should I check first when Meta results drop?

Ask three questions in order. Why are people not clicking? That is the creative and the offer. If they click, why do they not buy? Look at the store: product page, cart, checkout, shipping costs and stock. If they buy, why does Meta not know? Check the events, deduplication and consent. Most fixes turn out to be in the store, the tracking or the creative, not in a campaign setting. The full walk-through is in the same article.

E-commerce

Which e-commerce platforms do you work with?

Any of them: hosted platforms such as Shopify and BigCommerce, open-source ones such as WooCommerce and Magento, and headless builds, plus the payments, ERP, shipping, feeds, search and tracking around the store. The E-commerce page lists the whole stack and lets you search for the tool you use.

Can I see traffic from ChatGPT and other AI assistants in GA4?

Partly. Since May, GA4 has a default AI Assistant channel for visits from sources like ChatGPT, Gemini and Copilot. It reads the referrer, so a visit without one is filed as Direct, and clicks from Google’s AI Overviews and AI Mode stay in Organic Search. Treat the number as a floor. A custom channel group catches other assistants and older data. The article on product feeds and GA4 has the setup and a feed checklist.

Where do online stores usually break?

At the checkout, in the catalog data and in the integrations, and usually on a Friday. The common ones are payments that double-charge or drop orders, feeds with bad product data, and syncs between the store, the ERP and the warehouse that have no retries and no readable logs.

Working together

How do I get in touch?

The candidate summary has my email address and LinkedIn. Tell me what the project is and I’ll say honestly whether I’m the right person, including when the answer is no. The CV is there too, as a PDF.

Are the numbers on this site real?

The numbers on the Marketing page are made up, and the terminal sessions on the Software page are scripted simulations. Neither is a client result. The methods are the ones I use on real accounts, and the candidate summary names the companies I’ve worked with, by name only.