# Spintaxify CMS — full product information > Spintaxify CMS shows which blog posts bring visitors, Google rankings and revenue, in one cookie-free dashboard with Google Search Console built in, and helps you write the next articles with an AI writer and optional Autopilot. Website: https://spintaxifycms.com · Docs: https://spintaxifycms.com/docs ## Features - **Cookie-free analytics**: One script line for any website: visitors, page views, sources, channels, countries, devices, goals, funnels, outbound links and scroll depth. No cookies and no personal data, so no consent banner is needed. - **Revenue attribution**: Connect Stripe, Lemon Squeezy, Paddle or Polar to see which pages, sources and articles bring paying customers. - **Live globe and visitor journeys**: Real-time visitors on a 3D globe, and the path each identified visitor took through the site. - **Google Search Console**: Clicks, impressions, average position and indexing status of every article inside the dashboard, plus lists of quick wins (keywords almost on page 1, pages losing traffic). - **AI writer**: Writes a complete SEO article from a topic (or picks a topic from your website): title, meta description, headings, FAQ, internal links, focus keyword and tags. Tone, length and language are adjustable. Every draft can be edited before publishing. - **Autopilot**: Optional. Pick days and times. Autopilot plans topics you have not covered yet and drafts the articles for your approval (Review First), or publishes them on schedule if you choose Auto-Publish. - **Topics & calendar**: AI topic ideas scored for your niche, an approval queue, and a calendar of what will be written and when. - **Publish anywhere**: A free hosted blog on spintaxifycms.com, a one-line embed for any website (WordPress, Shopify, Webflow, Framer, Wix, custom code), and direct publishing to WordPress, Ghost, Webflow, Shopify or any webhook. - **Reports and alerts**: Weekly email reports with top pages, sources and suggested next steps; alerts when a goal happens or traffic changes. - **API, MCP and CLI**: REST API, webhooks, an MCP server for AI assistants and a command line tool, so posts and analytics can be used from other tools. - **Teams**: Several websites per account (by plan), team members with roles, and an audit log. ## Pricing (USD, monthly) - **Free trial**: $0 for 7 days, no card needed. 5 AI articles in total, 1 website, 3 team members. - **Starter**: $19 per month. 30 AI articles a month, 1 website, 3 team members. - **Pro**: $49 per month. 90 AI articles a month, 3 websites, 10 team members. - **Agency**: $129 per month. 300 AI articles a month, 10 websites, Unlimited team members. ## FAQ **What is Spintaxify CMS?** Spintaxify CMS shows which blog posts bring visitors, Google rankings and revenue, in one cookie-free dashboard with Google Search Console built in, and helps you write the next articles with an AI writer and optional Autopilot. **How much does Spintaxify CMS cost?** There is a 7-day free trial with 5 AI articles and no card. Paid plans are Starter $19/month (30 articles), Pro $49/month (90 articles, 3 websites) and Agency $129/month (300 articles, 10 websites). Prices are in USD, billed monthly, cancel any time. **Can it publish to my own website?** Yes. Use the free hosted blog, add one script line to show the blog on any website, or publish directly to WordPress, Ghost, Webflow, Shopify or a webhook. **Does it work with WordPress?** Yes. Connect WordPress once and Autopilot publishes posts there, or embed the blog with one script line. **Will the articles sound like AI?** Articles are written from your niche profile and tone, researched first, and checked for readability, filler and made-up numbers. In Review First mode nothing goes live until you approve it. **Is the analytics GDPR friendly?** Yes. It uses no cookies and stores no personal data, so no consent banner is needed. It can be used on any website, even without the blog features. **Can I use only the analytics?** Yes. Add one script line to any website and use visitors, goals, funnels, revenue and alerts without writing articles. **What are good alternatives to compare it with?** For AI writing people often compare it with tools like Jasper, Koala or SEOWriting.ai; for analytics with Plausible, Fathom or DataFast. Spintaxify CMS combines AI writing, scheduled publishing and analytics in one product. **Is there an API?** Yes: a REST API, webhooks, an MCP server for AI assistants and a CLI. **How do I start?** Create an account at https://spintaxifycms.com, add your website, and either write your first article with the AI writer or turn on Autopilot. # Documentation ## Get Started ### Getting started Source: https://spintaxifycms.com/docs/getting-started Set up Spintaxify CMS in 4 steps: add your site, install the script, connect revenue, track goals. Spintaxify CMS does two jobs: it **writes and publishes your blog** (by hand, with the AI Writer, or on Autopilot) and it **measures your website** with cookie-free analytics: visitors, goals, funnels and revenue. You can use one or both. Here is the fastest way to a working setup. ## 1. Add your website Go to **Projects** and press **Add website**. Type your site's address (for example yoursite.com). The name is optional; you can change it later. Every website gets its own **site ID**. You will see it in the script in the next step. ## 2. Install the script Paste this one line in the head of every page of your site. When you are signed in, the code below already shows your own site ID. - On WordPress, Shopify, Webflow, Framer, Wix and others, follow the [install guide for your platform](https://spintaxifycms.com/docs/install-guides). - Blogs hosted on Spintaxify are measured already. Nothing to install. Open your site once. In **Analytics** the setup card ticks **Install the script** and **Online now** shows you. More details in [Install tracking](https://spintaxifycms.com/docs/install-tracking). ## 3. Connect revenue (optional) If you sell something, connect Stripe, Lemon Squeezy, Paddle, Polar or Dodo Payments in **Analytics → Settings → Revenue**. Then you see which pages and channels bring paying customers, not only visitors. See [Revenue tracking](https://spintaxifycms.com/docs/revenue-tracking). ## 4. Track goals (optional) A goal is an action you care about: a signup, a demo request, a click on Buy. Add one in a minute, with or without code. See [Goals](https://spintaxifycms.com/docs/goals). ## The blog side - **Posts** — write and edit articles. The **AI Writer** drafts a full article from a topic. - **Autopilot** — picks topics, writes and publishes on a schedule you choose. See [Autopilot](https://spintaxifycms.com/docs/autopilot). - **Topics & Calendar** — topic ideas and what is planned for which day. - **Connect website** and **Destinations** — show the blog on your own site, or publish to WordPress and other places. ## What is in the menu | Menu | What it is for | | --- | --- | | Overview | Your numbers at a glance and recent posts | | Autopilot, Topics & Calendar, Posts, Categories & Tags, Authors | Writing and publishing | | Analytics, Visitors, Revenue, Alerts & reports | Measuring your website | | Google Search | Clicks, searches and indexing from Google Search Console | | Connect website, Destinations | Where your blog appears | | API Keys, Webhooks | For developers and AI assistants | | Projects, Team, Settings, Billing | Your websites, people, account and plan | New accounts get a 7-day free trial with every feature open and 5 AI articles included. ### Create your account Source: https://spintaxifycms.com/docs/create-your-account Sign up with email or Google, and what the free trial includes. ## Sign up 1. Go to the [sign up page](https://spintaxifycms.com/signup). 2. Use your **email and a password**, or **Continue with Google**. 3. Email signup? Open the verification email and confirm your address. Sign in afterwards at the [login page](https://spintaxifycms.com/login). ## Pick one method and stick to it This matters more than it sounds. Email signup and Google signup are two separate doors. If you registered with Google, the email form will not let you in. If you registered with email, signing in with Google (same address) can drop you in a different, empty workspace. Nothing is lost; you are just in the wrong account. [I can't sign in](https://spintaxifycms.com/docs/cant-sign-in) explains how to get back. ## The trial Every new account gets 7 days free, no card needed. All features are open, including Autopilot and analytics, and you get **5 AI articles** to test the AI Writer with. When the trial ends, you need a paid plan to keep writing and publishing with AI. Published posts stay online either way, and visits keep being counted while you decide. Prices are in [Plans and pricing](https://spintaxifycms.com/docs/plans-and-pricing). ### Create your first blog Source: https://spintaxifycms.com/docs/create-your-first-blog Create a project, choose its address, and publish your first post. A blog here is called a **project**. How many you get depends on the plan: 1 on the trial and Starter, 3 on Pro, 10 on Agency. ## Create it 1. Sign in and open **Projects**. 2. Create a project and name it. 3. Done: your blog is live at **spintaxifycms.com/b/your-blog-name**. You can [connect a custom domain](https://spintaxifycms.com/docs/custom-domain) later, whenever you are ready. ## Your first post Write it yourself under **Posts**, or open the **AI Writer**, give it a topic, and edit the draft it produces. Each AI generation costs one credit — see [Credits and plans](https://spintaxifycms.com/docs/credits-and-plans). Set the post to **Published** and it is on your blog immediately. Drafts and archived posts are never shown to visitors. ## After that - Static pages (About, Contact) go under **Pages**. - Images go under **Media** and can be reused in any post. - **Templates** changes how the blog looks. - [Autopilot](https://spintaxifycms.com/docs/autopilot) writes and publishes on a schedule, if you want that. - [Install tracking](https://spintaxifycms.com/docs/install-tracking) on any site you want measured. ### Connect a custom domain Source: https://spintaxifycms.com/docs/custom-domain Serve your blog from your own domain instead of the hosted address. Your blog starts on a hosted address, spintaxifycms.com/b/your-blog-name. If you would rather use your own domain — blog.example.com, or the root domain itself — connect it under **Domains**. ## Connect it 1. Open **Domains** in your blog's dashboard. 2. Add the domain and follow the steps shown. 3. At your registrar, add the DNS record the dashboard gives you. Copy it exactly. 4. Back in **Domains**, verify. DNS changes usually spread within a few minutes. They can take up to a day. Both are normal. > Note: most failed verifications are a record that was typed in wrong or only half copied. If it still has not verified after a day, remove the domain, compare the record at your registrar character by character, and add it again. [My blog is not loading](https://spintaxifycms.com/docs/blog-not-loading) covers the other causes. Your hosted address keeps working while the domain connects, so the blog stays up during the switch. ## AI Writer ### AI Writer Source: https://spintaxifycms.com/docs/ai-writer Write a full article from a topic, or let the AI pick one from your website. Then edit and publish. The AI Writer writes a complete article for you: title, headings, body, links to your other pages, and SEO title and description. You read it, change what you like, and publish. ## Write an article Open **Posts → New post**. The **Write with AI** box is at the top. 1. **Articles used this month** — how many AI articles you have left. Each click uses one, so click once and wait. 2. **Topic and keywords** — both optional. Leave the topic empty and the AI reads your website and picks a good topic itself. 3. **Tone and length** — Friendly, Professional or Expert; Short (about 650 words), Medium (about 1100) or Long (about 1800). 4. **Write automatically from my website** — starts writing. It takes about a minute. **Links in article** sets how many links to your own pages the article gets (0 for none). Put the pages you want linked in **Pages to link to**, one per line, like: pricing | https://yoursite.com/pricing. Left empty, the AI uses the pages saved in Autopilot, your home page and your other posts. The article's language follows **Language** in the post settings on the right. ## Before you publish - Read it. AI sometimes gets facts wrong. - The **SEO score** on the right checks the title length, description, word count, headings, links, cover image and slug. **Fill SEO title and description for me** writes those two fields. - Add a cover image if you want one. The AI does not make images. - Press **Publish**, or **Save Draft** to finish later. Status can also be **Scheduled** for a later date. ## Credits Each article uses one AI credit, also if you delete the draft later. Your plan's monthly number is in [Credits and plans](https://spintaxifycms.com/docs/credits-and-plans). Want articles written and published by themselves on a schedule? That is [Autopilot](https://spintaxifycms.com/docs/autopilot). ### Autopilot Source: https://spintaxifycms.com/docs/autopilot The AI finds topics, writes and publishes articles on the days and times you choose. Autopilot is the AI Writer on a timer. You tell it about your business once and pick a schedule. It then picks a topic, writes the article and publishes it, every time, by itself. ## Set it up Open **Autopilot** in the menu. 1. **Status** — whether Autopilot is on, how many posts a week it writes, the next run and what the last run did. 2. **About your business** — one or two sentences the AI reads first, so articles stay on your real subject. **Fill automatically from my website** writes it for you. Below it: niche, audience, brand voice, tone, keywords, the sub-topics it rotates through, and topics it must avoid. 3. **Enable Autopilot** — the main switch. 4. **Publishing mode** — **Auto-Publish** puts articles live by themselves. **Review First** saves them as drafts for you to approve. 5. **Schedule** — which days, the start date, posts per day, a time for each post, and your time zone. Further down: minimum and maximum words, an optional cover image used for every article, an FAQ section, internal links (how many per article and which pages), and a call to action (text and link). Press **Save everything**. **Test: write one article now** writes one article straight away to check the result. It does not change the schedule. ## Topics and calendar **Topics & Calendar** shows what Autopilot will write and when. 1. **Generate Ideas** — new topic ideas for your niche. 2. **Tabs** — Calendar, Suggested ideas, Approved (the queue), Written and Rejected. 3. **The calendar** — each day with its times. A slot shows the topic from your queue, or "AI picks a new topic". Approve the ideas you like (or **Approve all**); approved topics are written first, in order. Reject the ones you do not want. ## How many posts | Plan | Autopilot posts | | --- | --- | | Free trial | up to 2 a day | | Starter | up to 1 a day | | Pro | up to 3 a day | | Agency | up to 10 a day | Every article uses one AI credit from the same monthly allowance as the AI Writer. When the credits are used up, Autopilot waits until next month (or until you upgrade). Published posts are normal posts: edit, unpublish or delete them any time. ### Credits and plans Source: https://spintaxifycms.com/docs/credits-and-plans How AI credits work and what each plan includes. AI writing runs on **credits**. One AI Writer generation costs one credit. So does each article Autopilot writes. ## Monthly credits | Plan | Price | AI articles / month | Websites | | --- | --- | --- | --- | | Free trial | $0 for 7 days | 5 in total | 1 | | Starter | $19/month | 30 | 1 | | Pro | $49/month | 90 | 3 | | Agency | $129/month | 300 | 10 | Team sizes and Autopilot pace are in the full comparison: [Plans and pricing](https://spintaxifycms.com/docs/plans-and-pricing). ## The rules, plainly - Credits reset at the start of each billing month. Unused ones **do not carry over**. - Your usage shows in three places — Dashboard, AI Writer, Billing — and the three always agree. - Credits belong to the plan. Adding team members or websites does not change the allowance. > Warning: deleting a generated draft does not refund the credit. The generation already happened. If a draft might still be useful, read it before you delete it. ## When you run out The AI Writer and Autopilot stop until next month, or until you upgrade. Nothing else changes: published posts stay up, and analytics keeps counting. ## Analytics ### Install tracking Source: https://spintaxifycms.com/docs/install-tracking Add the analytics script to your site, check that it works, and change how it counts. The analytics script is one line. It sets **no cookies**, so you do not need a cookie banner for it. ## Add the script Paste this in the head of every page you want to measure. Signed in, the line below shows your own site ID. Where to paste it depends on how your site is built. There is a step-by-step [install guide](https://spintaxifycms.com/docs/install-guides) for WordPress, Shopify, Webflow, Framer, Wix, Squarespace, Ghost, Google Tag Manager, Next.js, React, Vue, Astro, SvelteKit and Laravel. Blogs hosted on Spintaxify (spintaxifycms.com/b/...) and the blog embed code are measured already. ## Check that it works 1. Open your website in a normal browser window. 2. In Spintaxify open **Analytics**. Within a few seconds **Online now** shows 1. 3. **Analytics → Settings → General** shows a green dot: **Working. Last visit** with the time. Still nothing after a few minutes? Check that the site ID in your page is exactly the one in Settings, and that the address in **Settings → General → Domain** is your real site. Visits from other addresses are ignored on purpose. ## Single page apps React, Vue, Next.js and other apps that change pages without a reload are counted on every page change. Nothing extra to do. ## Send events before the script loads If your code may call the script before it has loaded, add this small helper above the script line. Calls made early wait and are sent as soon as the script is ready. ## Options Most options are switches in **Analytics → Settings → General → What to count**: | Switch | What it does | | --- | --- | | Subdomains | Count blog.yoursite.com together with yoursite.com (on by default) | | Query parameters | Keep ?page=2 and similar in page addresses (UTM tags are always read) | | #hash links | Count #section changes as separate pages | | Outbound links | Count clicks on links to other websites (on by default) | | Time on page | Measure how long people stay (on by default) | | Admin pages | Leave out /admin, /wp-admin, /dashboard and login pages (on by default) | | Localhost | Count visits while you work on your own computer (off by default) | You can also switch some on in the script line itself, for one site only: Available: data-track-outbound="false", data-track-hash="true", data-track-query="true", data-allow-localhost="true". ## Leave out your own visits Open your site, then run this once in the browser console. That browser is never counted on that site again: localStorage.setItem('spintaxify_ignore', '1') You can also exclude your IP address in **Analytics → Settings → Exclusions**. See [Exclusions and privacy](https://spintaxifycms.com/docs/exclusions-and-privacy). ### Analytics overview Source: https://spintaxifycms.com/docs/analytics-overview What every part of the Analytics page shows, and how to read it. **Analytics** shows one website at a time. Pick the website in the menu at the top left. ## The top bar 1. **Period** — Today, Yesterday, Last 24 hours, This week, This month, This year, Last 7 days, Last 30 days, Last 3, 6 or 12 months, All time, or a custom range. The arrows move to the previous or next period. **Daily / Weekly** changes the chart steps. 2. **Filter** — show only one page, source, country, device, campaign, goal and more. Everything on the page follows the filter. 3. **Live globe** — who is on your site right now, on a 3D globe. See [Live globe](https://spintaxifycms.com/docs/live-globe). 4. **Compare** — draws the previous period as a dashed line, and shows the change next to each number. **Settings**, **Visitors** and **Insights** open the settings, the [people you identified](https://spintaxifycms.com/docs/identify-visitors), and revenue insights. ## The numbers | Number | Meaning | | --- | --- | | Visitors | Different people in the period (counted without cookies) | | Pageviews | Pages opened, and pages per visitor | | Bounce rate | Visits that saw one page and left | | Session time | Average time per visit | | Online now | People active in the last 5 minutes | | Revenue, Revenue / visitor | Payments in the period, when a payment provider is connected | Click a number to draw it on the chart. ## The chart Hover a day to see its numbers. Orange marks are your own [notes](https://spintaxifycms.com/docs/chart-notes), like "Posted on Reddit". Black dots at the bottom are commits, if you connected a GitHub repository in **Settings → Integrations**. ## What stands out A short list of things worth knowing about the period, in plain words: a big jump or drop, one source bringing most visitors, a page people stay on longest, a high bounce rate, a goal that is doing well. Click one to filter the page by it. ## The panels | Panel | Tabs | | --- | --- | | Articles | Every article with views, visitors, time, link clicks and Google clicks | | Sources | Channel, Referrer, Campaign, Keyword | | Pages | Hostname, Page, Entry page, Exit page, Exit link | | Places | Map, Country, Region, City | | Technology | Browser, OS, Device | | Goals | Goals, Funnels, Custom events. See [Goals](https://spintaxifycms.com/docs/goals) | | Revenue | Channel, Source, Landing page. See [Revenue tracking](https://spintaxifycms.com/docs/revenue-tracking) | | AI and bots | AI answers, Indexing, Training, Pages read | | Google Search | Clicks, impressions, searches and indexing | Click any row to filter the whole page by it. **Details** opens the full list. ## AI and bot traffic AI assistants (ChatGPT, Claude, Perplexity and others), search engines and AI training crawlers are counted here, never as visitors. **AI answers** means an assistant read your page to answer someone. ### Live globe Source: https://spintaxifycms.com/docs/live-globe See who is on your website right now on a 3D globe, and replay the last 24 hours. The live globe shows everyone on your site right now (active in the last 5 minutes). Open it with **Live globe** at the top of Analytics, or **Open realtime** under Online now. 1. **Who is on your site now** — how many people, and their top referrers, countries and devices. 2. **Buttons** — stop or start spinning, go back to the whole world, **replay the last 24 hours**, light or dark style, full screen, close (Esc). 3. **Latest activity** — every page view and goal as it happens. Click a person to see only their activity. 4. **Zoom** — or use your mouse wheel. Zoomed in, the globe turns into a street map. Click a visitor on the globe to see where they are, what page they are on, where they came from and how long they have been there. **Zoom to visitor** flies to their city. New visitors appear within a few seconds. You never need to refresh. On slower computers the globe draws at a slightly lower resolution so it stays smooth. ### Google Search Source: https://spintaxifycms.com/docs/google-search Your Google clicks, searches and indexing, with what to do next. Connected to Google Search Console. **Google Search** shows how your site does on Google, without opening Search Console. ## Connect Google once Open **Topics & Calendar**. At the top is the **Google Search Console** box: press **Connect**, choose the Google account that owns your site in Search Console, and allow access. Then pick your site from the list. Pick the property that matches your website address exactly (for example https://www.yoursite.com/ or the domain property yoursite.com). If you pick another site, all numbers stay at zero. The connection only reads data. It never changes anything in your Google account. **Disconnect** removes it. ## What you see 1. **Period** — Live now and 24 hours (from your own visits), or 7, 28 or 90 days from Google. Google's numbers are about 2 days behind. 2. **The numbers** — clicks from Google, views (how often your pages were shown), click rate and average position (1 is the top). 3. **What to do for more Google traffic** — ready-made lists: - **Almost on page 1** — searches where you are at position 8 to 20. One good article can move them up. - **Seen but not clicked** — shown often, rarely clicked: improve the title and description. - **Losing traffic** and **Growing** — pages going down or up. - **New keywords** — searches you started showing up for. Below: every page and keyword with clicks, views, click rate and position. ## Is Google showing your posts? The **indexing** list checks every published post with Google: in Google, not in Google, or not checked yet. It checks by itself every day, and **Check now** checks straight away. New posts usually appear in 3 to 14 days. Under **Sitemaps**, send your sitemap to Google once. After that, each time Autopilot publishes, Spintaxify asks Google to read it again, so new posts are found sooner. ### Goals Source: https://spintaxifycms.com/docs/goals Count the actions that matter: signups, demo requests, clicks on Buy. Three ways to track them. A **goal** is an action you want people to take: sign up, request a demo, start a trial, click Buy. Pageviews tell you people came; goals tell you they did something. You can track a goal in three ways. Use the first one if you do not want to touch code. ## Way 1: a page in the dashboard (no code) If the action ends on its own page, like /thank-you after a signup, make a page goal. 1. Open **Analytics** and scroll to the **Goals** panel. 2. Press **Add goal**. 3. Give it a name, keep **Page view**, pick a rule (is, is not, contains, starts with, ends with, regex) and type the address. 4. Press **Save**. ## Way 2: one HTML attribute (no JavaScript) Add data-goal to any button or link. Each click counts as that goal: Add details with more data-goal- attributes. They show up when you open the goal: To count when someone **scrolls to** a part of the page (once per page view):
...
Optional: data-scroll-threshold="0.6" (how much of it must be visible, 0 to 1) and data-scroll-delay="1500" (milliseconds it must stay in view). ## Way 3: JavaScript Call this where the action happens, for example after a form is sent: window.spintaxifyAnalytics('signup'); With details: window.spintaxifyAnalytics('signup', { plan: 'pro', source: 'footer_form' }); If this can run before the script has loaded, add the small helper from [Install tracking](https://spintaxifycms.com/docs/install-tracking#send-events-before-the-script-loads). ## From your server For actions confirmed on your server (a paid invoice, a verified email), send the goal with the API. See [CLI and analytics API](https://spintaxifycms.com/docs/cli-and-api). ## Rules for names and details - Goal names: lowercase letters, numbers, _ - and :, up to 60 characters. Example: start_trial. - Up to 10 details per goal. Detail names use letters, numbers, _ and -. Values are cut at 100 characters. - In HTML, data-goal-plan-type becomes the detail plan_type. ## Where goals show up - The **Goals** panel shows how many visitors completed each goal. Events you send appear under **Custom events**; add them as goals to keep them on top. - Use a goal in **Filter** to see which pages and sources bring the people who complete it. - Build a **funnel** from goals and pages. See [Funnels and custom events](https://spintaxifycms.com/docs/funnels-and-events). - Get an email the moment a goal happens. See [Reports and alerts](https://spintaxifycms.com/docs/reports-and-alerts). - Set a goal as your **#1 KPI** in **Settings → General**, so it shows next to your visitors. Payments are tracked separately and more precisely with [Revenue tracking](https://spintaxifycms.com/docs/revenue-tracking). ### Funnels and custom events Source: https://spintaxifycms.com/docs/funnels-and-events See where people drop off between steps, and every event your site sends. ## Funnels A funnel is a path of steps, for example: read the blog, then open pricing, then sign up. It shows how many visitors reached each step **in that order**, so you see exactly where people drop off. 1. Open **Analytics**, go to the **Goals** panel and choose the **Funnels** tab. 2. Press **Add funnel** and give it a name. 3. For each step choose **Page view** (with a rule and an address) or **Custom event** (with the event name). 4. Press **+ Add step** for more steps, then **Save**. A visitor counts for a step only after doing every earlier step. Funnels work for any period you pick, also for visits from before you made the funnel. ## Custom events Every event your site sends with window.spintaxifyAnalytics('name') or a data-goal attribute is listed in the **Custom events** tab, with how many visitors sent it. Click one to see its details (for example which plan was chosen). How to send events is explained in [Goals](https://spintaxifycms.com/docs/goals). ## Outbound links Clicks on links to other websites are counted automatically and shown under **Pages → Exit link**. Turn this off in **Settings → General → Outbound links** if you do not want it. ### Revenue tracking Source: https://spintaxifycms.com/docs/revenue-tracking Connect your payment provider and see which pages and channels bring paying customers. Revenue tracking puts your payments next to your traffic. Instead of "pricing got 300 visits" you see "Google brought 12 customers and 580 dollars". ## Connect your provider 1. Open **Analytics → Settings → Revenue**. 2. Pick your provider: **Stripe**, **Lemon Squeezy**, **Paddle**, **Polar**, **Dodo Payments**, **Easytool**, or **Other** for anything else. 3. Paste a **read-only** API key and press **Connect**. Spintaxify adds the payment webhook for you where the provider allows it; otherwise the page shows the webhook address to paste in your provider. 4. Choose the **currency** for your numbers. From then on new payments arrive within seconds and show under **Recent payments**. Payments from before you connected are not imported. Test-mode payments are marked as test. ## Link payments to pages and channels To know which landing page and channel brought each buyer, add one line to your checkout. The script remembers the first page and source of each visitor for 30 days in their browser (no cookie). Put this in your checkout's metadata: metadata: window.spintaxifyAnalytics.attribution() Where the metadata goes for each provider: | Provider | Field | | --- | --- | | Stripe | metadata | | Lemon Squeezy | checkout_data.custom | | Paddle | customData | | Polar, Dodo Payments | metadata | | Other / Easytool | metadata in the JSON you send | The setup card on the Analytics page ticks **Attribute payments** when the first linked payment arrives. ## What you see - **Revenue** and **Revenue per visitor** in the numbers at the top. - The **Revenue** panel: money by Channel, Source and Landing page. - **Insights** (button at the top): revenue by device, source and the path to buying. - Revenue can be your **#1 KPI** (Settings → General). Refunds are subtracted. Disconnecting stops new payments from arriving; nothing changes at your provider. ### Reports and alerts Source: https://spintaxifycms.com/docs/reports-and-alerts Emails when a goal happens or traffic changes, a weekly summary, counters and a public dashboard. You do not have to watch the dashboard. Spintaxify can email you. ## Alerts Open **Alerts & reports** in the menu (or **Analytics → Settings → Alerts**) and press **New alert**. There are two kinds: - **A goal happens** — an email the moment a visitor completes the goal you pick. You write the subject and message yourself and can use variables like the goal name, the visitor's country, referrer, device and page. The preview shows the email as it will arrive. One goal alert sends at most 50 emails a day. - **Traffic changes** — watch Visitors, Pageviews or Revenue for a day, week, month or year, and get an email when the number goes above or below a level you set. It is checked when the period ends. You can have up to 20 alerts per website. **Alerts are sent to** at the bottom sets the address. ## Automatic emails In **Analytics → Settings → Reports**: - **Weekly summary** — every Monday morning: visitors, top pages and sources of the past week. - **Traffic spike** — when one hour brings about three times your usual traffic (and at least 10 visitors). At most once a day. Use **Send me a test email** once to check the emails reach you. ## Counters for your site **Analytics → Settings → Widgets** gives you a **visitor counter** (last 30 days) and a **live counter** (people on the site now) to show on your website. Both are off until you switch them on. ## Public dashboard **Analytics → Settings → General → Public dashboard** makes a read-only link anyone can open without an account. It shows the last 30 days. Make a new link to stop the old one working. ### Exclusions and privacy Source: https://spintaxifycms.com/docs/exclusions-and-privacy Keep your own and unwanted visits out, protect against fake traffic, and how privacy works. ## Exclusions **Analytics → Settings → Exclusions** keeps visits out of your numbers. Visits that match are not saved at all. | Exclude | How it matches | | --- | --- | | IP addresses | Exact address, one per line. The page shows your current IP to add it quickly | | Pages | A path like /admin, or with * like /admin/* | | Hostnames | A whole hostname, like staging.yoursite.com | | Countries | Two-letter codes, like PK or US | | Referrers | A domain and its subdomains, like spam-site.com | | Browsers and systems | For example Firefox or Linux | The quickest way to leave out your own visits on one browser is in [Install tracking](https://spintaxifycms.com/docs/install-tracking#leave-out-your-own-visits). ## Attack mode **Analytics → Settings → Security** protects your numbers from fake traffic: - **Attack mode on** — visits from browsers that send no language are dropped, and one visitor can count at most 30 page views a minute. - **Switch on by itself** — when more than 20 different visitors arrive in one minute, attack mode turns on for one hour. ## Privacy - The script sets **no cookies** and needs no cookie banner. - IP addresses are never stored. Unique visitors are counted with a one-way code that changes every day, so a person cannot be followed from one day to the next. - Visitors are anonymous unless you choose to [identify them](https://spintaxifycms.com/docs/identify-visitors) after they log in to your site. - Visitors can opt out on a site with localStorage.setItem('spintaxify_ignore', '1'). More in our [Privacy policy](https://spintaxifycms.com/privacy). ### Identify visitors Source: https://spintaxifycms.com/docs/identify-visitors See who a visitor is and the path they took, after they log in. By default every visitor is anonymous. If your site has accounts, you can tell the script who someone is once they log in or sign up. From then on their visits are grouped into a profile with a full journey under **Analytics → Visitors**. ## Send who it is Call this after a log in or sign up, with your own user ID: window.spintaxifyAnalytics('identify', { user_id: '42', name: 'Ann Lee', email: 'ann@example.com', plan: 'pro' }); Only user_id is needed. name and email show in the list. Up to 10 more fields (like plan) are saved as details. It is safe to call this before the script has loaded; the call waits and runs when it is ready. ## On log out window.spintaxifyAnalytics.reset(); This forgets the ID in that browser, so the next person on a shared computer is not mixed up. ## What you see - **Visitors** lists everyone you identified, newest first, with search by name, email or ID. - Click a person to see: where they first came from, each visit, every page, goals they hit, links they left by, and total time on site. - Visits from the 24 hours before they logged in on the same device are linked too. ## Privacy Identifying people is your choice and happens only where you call it. Mention it in your privacy policy. You can delete a person from their profile (bin icon); their visits stay in your totals without their name. ## From your server Count a goal for a known person from your backend with the API: curl -X POST https://spintaxifycms.com/api/v1/projects/YOUR-SITE-ID/analytics/events \ -H "Authorization: Bearer YOUR-API-KEY" -H "Content-Type: application/json" \ -d '{"name":"paid","user_id":"42","props":{"plan":"pro"}}' ### Subdomains and several websites Source: https://spintaxifycms.com/docs/several-websites Count blog.site.com with site.com, or join two different domains. One project can count more than one website. ## Subdomains In **Analytics → Settings → General → What to count**, the **Subdomains** switch (on by default) counts blog.yoursite.com, app.yoursite.com and others together with yoursite.com. Use the same script line on each. ## Different domains (cross-domain) If your blog is on one domain and your shop or app on another, add the other addresses under **Analytics → Settings → General → Other websites**, one per line, and put the same script line on those sites. - Visits from those sites are counted in the same project. - Visits from any website not on your list are ignored, so nobody can fill your numbers by copying your script. - Pick a site in the **Hostname** list on the Analytics page to see it on its own. Because the counting needs no cookies, the same person moving between your sites on the same day is counted once. ### Notes on the chart Source: https://spintaxifycms.com/docs/chart-notes Mark launches, posts and changes on your traffic chart. A note is a short line pinned to a day on the main chart, like "Posted on Reddit" or "New pricing page". Later, when you see a jump or a dip, the reason is right there. ## Add a note 1. On the Analytics page, under the chart, click **+ Add a note**. 2. Pick the day (today is filled in) and write up to 280 characters. 3. Press Enter or **Add**. The day gets an orange marker on the chart, and the note shows when you hover that day. Notes also list under the chart for the period you are looking at; click the small x to delete one. ## From code or the command line node spintaxify.mjs note YOUR-SITE-ID "Launched v2" --date 2026-11-09 or POST to /api/v1/projects/YOUR-SITE-ID/analytics/notes. See [CLI and analytics API](https://spintaxifycms.com/docs/cli-and-api). ## Install guides ### Install guides Source: https://spintaxifycms.com/docs/install-guides Pick your website builder or framework and follow the steps. Every guide below does the same thing: it puts one line in the head of your pages. Your line looks like this, with your own site ID: Blogs hosted on Spintaxify are measured already, so skip this if that is the only site you have. ## Website builders - [WordPress](https://spintaxifycms.com/docs/install-wordpress) - [Shopify](https://spintaxifycms.com/docs/install-shopify) - [Webflow](https://spintaxifycms.com/docs/install-webflow) - [Framer](https://spintaxifycms.com/docs/install-framer) - [Wix](https://spintaxifycms.com/docs/install-wix) - [Squarespace](https://spintaxifycms.com/docs/install-squarespace) - [Ghost](https://spintaxifycms.com/docs/install-ghost) - [Google Tag Manager](https://spintaxifycms.com/docs/install-google-tag-manager) ## Frameworks and code - [Plain HTML](https://spintaxifycms.com/docs/install-html) - [Next.js](https://spintaxifycms.com/docs/install-nextjs) - [React, Vite or Create React App](https://spintaxifycms.com/docs/install-react) - [Vue and Nuxt](https://spintaxifycms.com/docs/install-vue-nuxt) - [Astro](https://spintaxifycms.com/docs/install-astro) - [SvelteKit](https://spintaxifycms.com/docs/install-sveltekit) - [Laravel and other server templates](https://spintaxifycms.com/docs/install-laravel) Not on the list? If your tool has a place for "custom code in the head" or "header scripts", paste the line there. That is all any of these guides do. ### Plain HTML Source: https://spintaxifycms.com/docs/install-html Static sites and hand-written pages. For a site made of HTML files, add the line to every page you want counted. ## Steps 1. Open each HTML file (or the shared header include, if your pages use one). 2. Find the closing head tag. 3. Paste this just above it: 4. Upload the files again. ## Check it works Open your site in a normal browser window (not one where you are logged in as admin, if you excluded admin pages). Then open **Analytics** in Spintaxify. Within a few seconds **Online now** shows 1, and the setup card ticks **Install the script**. > Tip: your site ID is in **Analytics → Settings → General**. Copy the snippet from there and it is already filled in. ### WordPress Source: https://spintaxifycms.com/docs/install-wordpress Add the script with a header plugin or your theme. There are two easy ways. The plugin way survives theme updates, so start with that. ## With a header plugin (recommended) 1. In WordPress go to **Plugins → Add New** and install a header and footer code plugin, for example WPCode. 2. Open the plugin's **Header** box. 3. Paste: 4. Save. ## In your theme 1. Go to **Appearance → Theme File Editor** and open header.php of your child theme. 2. Paste the line just above the closing head tag and save. Use a child theme, otherwise a theme update removes the line. > Note: caching plugins may keep serving the old pages for a while. Clear the cache once after adding the line. ## Check it works Open your site in a normal browser window (not one where you are logged in as admin, if you excluded admin pages). Then open **Analytics** in Spintaxify. Within a few seconds **Online now** shows 1, and the setup card ticks **Install the script**. > Tip: your site ID is in **Analytics → Settings → General**. Copy the snippet from there and it is already filled in. ### Shopify Source: https://spintaxifycms.com/docs/install-shopify Add the script to your theme. Shopify pages all share one theme layout file, so you only paste once. ## Steps 1. In Shopify admin open **Online Store → Themes**. 2. Next to your live theme click the three dots, then **Edit code**. 3. Under Layout open **theme.liquid**. 4. Find the closing head tag and paste this just above it: 5. Click **Save**. > Note: Shopify's own checkout pages do not load theme code, so they are not counted. Revenue from Shopify can still be matched with the payment tracking in Analytics → Settings → Revenue. ## Check it works Open your site in a normal browser window (not one where you are logged in as admin, if you excluded admin pages). Then open **Analytics** in Spintaxify. Within a few seconds **Online now** shows 1, and the setup card ticks **Install the script**. > Tip: your site ID is in **Analytics → Settings → General**. Copy the snippet from there and it is already filled in. ### Webflow Source: https://spintaxifycms.com/docs/install-webflow Add the script in site settings. Webflow lets you add code to the head of every page from one place. Custom code needs a paid site plan. ## Steps 1. Open your project and go to **Site settings → Custom code**. 2. In **Head code** paste: 3. Click **Save changes**. 4. **Publish** the site. The script only runs on the published site, not in the Designer. ## Check it works Open your site in a normal browser window (not one where you are logged in as admin, if you excluded admin pages). Then open **Analytics** in Spintaxify. Within a few seconds **Online now** shows 1, and the setup card ticks **Install the script**. > Tip: your site ID is in **Analytics → Settings → General**. Copy the snippet from there and it is already filled in. ### Framer Source: https://spintaxifycms.com/docs/install-framer Add the script in site settings. Framer has a custom code box that runs on every page of the published site. ## Steps 1. Open your project and click the gear for **Site Settings**. 2. Go to **General → Custom Code**. 3. In **End of head tag** paste: 4. Click **Save**, then **Publish**. ## Check it works Open your site in a normal browser window (not one where you are logged in as admin, if you excluded admin pages). Then open **Analytics** in Spintaxify. Within a few seconds **Online now** shows 1, and the setup card ticks **Install the script**. > Tip: your site ID is in **Analytics → Settings → General**. Copy the snippet from there and it is already filled in. ### Wix Source: https://spintaxifycms.com/docs/install-wix Add the script with Custom Code. Wix allows custom code on sites with a premium plan and a connected domain. ## Steps 1. In your Wix dashboard open **Settings**, then **Custom Code** (under Advanced). 2. Click **Add Custom Code**. 3. Paste: 4. Name it Spintaxify, choose **All pages**, set it to load **once**, and place it in the **Head**. 5. Click **Apply**. ## Check it works Open your site in a normal browser window (not one where you are logged in as admin, if you excluded admin pages). Then open **Analytics** in Spintaxify. Within a few seconds **Online now** shows 1, and the setup card ticks **Install the script**. > Tip: your site ID is in **Analytics → Settings → General**. Copy the snippet from there and it is already filled in. ### Squarespace Source: https://spintaxifycms.com/docs/install-squarespace Add the script with Code Injection. Code Injection is on Squarespace's Core plan and higher. ## Steps 1. Open your site and go to **Settings → Developer tools → Code Injection** (older sites: **Settings → Advanced → Code Injection**). 2. In the **Header** box paste: 3. Click **Save**. ## Check it works Open your site in a normal browser window (not one where you are logged in as admin, if you excluded admin pages). Then open **Analytics** in Spintaxify. Within a few seconds **Online now** shows 1, and the setup card ticks **Install the script**. > Tip: your site ID is in **Analytics → Settings → General**. Copy the snippet from there and it is already filled in. ### Ghost Source: https://spintaxifycms.com/docs/install-ghost Add the script with Code injection. Ghost has a site-wide header box, so this takes a minute. ## Steps 1. In Ghost Admin open **Settings → Code injection**. 2. In **Site header** paste: 3. Click **Save**. ## Check it works Open your site in a normal browser window (not one where you are logged in as admin, if you excluded admin pages). Then open **Analytics** in Spintaxify. Within a few seconds **Online now** shows 1, and the setup card ticks **Install the script**. > Tip: your site ID is in **Analytics → Settings → General**. Copy the snippet from there and it is already filled in. ### Google Tag Manager Source: https://spintaxifycms.com/docs/install-google-tag-manager Load the script with a Custom HTML tag. If your site already runs Google Tag Manager you can add the script there without touching the site's code. ## Steps 1. In Tag Manager click **New Tag**. 2. Tag type: **Custom HTML**. Paste: 3. Trigger: **All Pages** (Page View). 4. Save, then **Submit** and **Publish** the container. > Note: ad blockers that block Tag Manager also block anything inside it. Pasting the line straight into the site counts more people. ## Check it works Open your site in a normal browser window (not one where you are logged in as admin, if you excluded admin pages). Then open **Analytics** in Spintaxify. Within a few seconds **Online now** shows 1, and the setup card ticks **Install the script**. > Tip: your site ID is in **Analytics → Settings → General**. Copy the snippet from there and it is already filled in. ### Next.js Source: https://spintaxifycms.com/docs/install-nextjs App Router and Pages Router. Use the Script component so the line loads on every route. Page changes inside the app are counted on their own. ## App Router (app/layout.tsx) import Script from 'next/script'; export default function RootLayout({ children }) { return ( 3. Build and deploy. ## Check it works Open your site in a normal browser window (not one where you are logged in as admin, if you excluded admin pages). Then open **Analytics** in Spintaxify. Within a few seconds **Online now** shows 1, and the setup card ticks **Install the script**. > Tip: your site ID is in **Analytics → Settings → General**. Copy the snippet from there and it is already filled in. ### Vue and Nuxt Source: https://spintaxifycms.com/docs/install-vue-nuxt Single page apps and Nuxt sites. Vue apps use index.html like React. Nuxt adds head tags from its config. ## Vue (Vite) Paste the line inside the head of **index.html**: ## Nuxt (nuxt.config.ts) export default defineNuxtConfig({ app: { head: { script: [ { src: 'https://spintaxifycms.com/js/analytics.js', defer: true, 'data-site-id': 'YOUR-SITE-ID' } ] } } }); Deploy, then open the live site. ## Check it works Open your site in a normal browser window (not one where you are logged in as admin, if you excluded admin pages). Then open **Analytics** in Spintaxify. Within a few seconds **Online now** shows 1, and the setup card ticks **Install the script**. > Tip: your site ID is in **Analytics → Settings → General**. Copy the snippet from there and it is already filled in. ### Astro Source: https://spintaxifycms.com/docs/install-astro Add the script to your base layout. Most Astro sites have one layout that wraps every page. Add the line there. ## Steps 1. Open your base layout, for example src/layouts/Layout.astro. 2. Inside the head, paste: 3. If you use View Transitions, keep the line as it is. The script notices page changes on its own. 4. Build and deploy. ## Check it works Open your site in a normal browser window (not one where you are logged in as admin, if you excluded admin pages). Then open **Analytics** in Spintaxify. Within a few seconds **Online now** shows 1, and the setup card ticks **Install the script**. > Tip: your site ID is in **Analytics → Settings → General**. Copy the snippet from there and it is already filled in. ### SvelteKit Source: https://spintaxifycms.com/docs/install-sveltekit Add the script to app.html. SvelteKit renders every page inside src/app.html. ## Steps 1. Open **src/app.html**. 2. Paste this just before the line with %sveltekit.head%: 3. Build and deploy. ## Check it works Open your site in a normal browser window (not one where you are logged in as admin, if you excluded admin pages). Then open **Analytics** in Spintaxify. Within a few seconds **Online now** shows 1, and the setup card ticks **Install the script**. > Tip: your site ID is in **Analytics → Settings → General**. Copy the snippet from there and it is already filled in. ### Laravel and other server templates Source: https://spintaxifycms.com/docs/install-laravel Blade, Rails, Django, PHP and similar. Server frameworks usually have one layout template that all pages extend. Add the line to its head. ## Steps 1. Open your main layout: Laravel resources/views/layouts/app.blade.php, Rails app/views/layouts/application.html.erb, Django your base.html, plain PHP your header include. 2. Inside the head, paste: 3. Deploy. ## Check it works Open your site in a normal browser window (not one where you are logged in as admin, if you excluded admin pages). Then open **Analytics** in Spintaxify. Within a few seconds **Online now** shows 1, and the setup card ticks **Install the script**. > Tip: your site ID is in **Analytics → Settings → General**. Copy the snippet from there and it is already filled in. ## Publishing ### Embed your blog Source: https://spintaxifycms.com/docs/embed-your-blog Show your blog inside an existing website. Your blog can live inside the website you already have, for example yoursite.com/blog. It takes **one line** for the whole site, plus an empty box where the posts should appear. ## 1. One line in the head of every page This is the same line that counts your visitors, so if you already added it for analytics, skip this step. Signed in, the code shows your own site ID. Most site builders have one "head code" box for the whole site. See the [install guide for your platform](https://spintaxifycms.com/docs/install-guides). ## 2. An empty box where the blog goes On your blog page, put this where the posts should show:
That is all. The line from step 1 finds the box and fills it with your published posts. Readers click a post and read it on the same page. New posts, edits and unpublished posts follow by themselves; you never touch your site again for a blog change. ## Clean addresses (optional) By default a post opens at yourpage?post=post-name. For addresses like /blog/post-name, add data-base:
Your site must then show the same page for every address that starts with /blog/ (on most hosts this is one rewrite rule). Not sure? Leave it out. Change the link colour with data-accent="#e11d48" on the same box. ## Already using embed.js? The older two-line embed (a div with id="blog" and the embed.js script) keeps working. You can switch to the one line above whenever you like. Do not use both on the same page. ## Hosted, custom domain, or embed? - **Hosted address** (spintaxifycms.com/b/your-blog) — no setup at all. The way to start. - **Custom domain** — your own brand on the address. See [Connect a custom domain](https://spintaxifycms.com/docs/custom-domain). - **On your own site** — the box above, inside your design. All three show the same posts, and analytics works the same on each. The **Connect website** page in the dashboard shows both pieces of code for your site and turns green when it sees them working. ### WordPress Source: https://spintaxifycms.com/docs/wordpress Use Spintaxify with a WordPress site: analytics plugin and publishing connections. There are two separate things people mean by using Spintaxify with WordPress. You can do either, or both. ## Measure a WordPress site Use the WordPress plugin option in your project's **Analytics → Settings**: install the plugin on your WordPress site, paste your site ID, save. Visits then show up in Analytics like any other tracked site. The script alternative is in [Install tracking](https://spintaxifycms.com/docs/install-tracking). ## Publish to WordPress Your blog can also stay on WordPress while you work in Spintaxify. Spintaxify connects to other services — WordPress among them — so articles can be delivered where your readers already are, while you write and measure here. Each connected service has its own terms, and you can disconnect at any time. If you are not sure which setup you need, start with measurement. It takes a few minutes, it works during the free trial, and your real numbers in [Analytics](https://spintaxifycms.com/docs/analytics-overview) will tell you more than guessing will. ### REST API and MCP Source: https://spintaxifycms.com/docs/api-and-mcp Read posts and analytics through the API, or let AI assistants read them over MCP. ## Public blog API Every hosted blog has a public API for its published posts. If your blog is at spintaxifycms.com/b/your-blog, the posts endpoint is: https://spintaxifycms.com/api/public/blogs/your-blog/posts It returns published posts only. Drafts never appear here. Each blog gets a monthly request allowance, set by your plan: 100,000 requests on the trial and Starter, 1,000,000 on Pro, unlimited on Agency. If you build something busy on top of the API, keep an eye on the counter. ## Analytics API key In **Analytics → Settings → API** you can create an API key. With it, your own scripts, dashboards or reports can read your analytics from anywhere. ## MCP server The same key also works with the MCP server: https://spintaxifycms.com/api/mcp Connect ChatGPT, Claude or another AI assistant, and it can read your blog and your analytics through your key. Treat the key like a password. It can read everything your analytics can see. Keep it private, and if it ever leaks, replace it. Note: the API is for reading analytics. Publishing and account changes stay in the dashboard. ### CLI and analytics API Source: https://spintaxifycms.com/docs/cli-and-api Read your numbers and send events from the terminal or your server. Everything on the Analytics page can be read with an API key, and you can send events and notes from your own code. ## API key Go to **Dashboard → API Keys → Create key**. Tick **Analytics read** to read numbers. Tick **Write** too if you want to send events or notes. Keys start with spintaxify_. Send it as a header on every call: Authorization: Bearer spintaxify_xxx ## Endpoints All live under https://spintaxifycms.com/api/v1/projects/YOUR-SITE-ID | Method | Path | What it does | | --- | --- | --- | | GET | /analytics?period=7d | Totals, chart, pages, sources, places, devices (plus goals, revenue, AI bots with those scopes) | | GET | /analytics/live | Who is on the site in the last 5 minutes | | POST | /analytics/events | Count a goal from your server: name, user_id, path, props | | GET | /analytics/notes | Notes on the chart (since, until) | | POST | /analytics/notes | Add a note: text, at | | DELETE | /analytics/notes?id= | Delete a note | | GET | /analytics/visitors | Identified visitors (q to search) | | GET | /analytics/visitors?user_id=42 | One visitor's journey | Periods: today, yesterday, 7d, 30d, 3mo, 6mo, 12mo, all. ## Command line A small tool that runs on Node 18 or newer, nothing else to install: curl -fsSL https://spintaxifycms.com/cli/spintaxify.mjs -o spintaxify.mjs node spintaxify.mjs login spintaxify_xxx node spintaxify.mjs stats YOUR-SITE-ID --period 7d node spintaxify.mjs live YOUR-SITE-ID node spintaxify.mjs event YOUR-SITE-ID paid --user 42 --prop plan=pro node spintaxify.mjs note YOUR-SITE-ID "Sent the newsletter" node spintaxify.mjs visitors YOUR-SITE-ID --user 42 Run node spintaxify.mjs help for the full list. Add --json to get raw JSON for scripts. ## AI assistants The same data is available to Claude, ChatGPT and other assistants through MCP. See [REST API and MCP](https://spintaxifycms.com/docs/api-and-mcp). ## Billing ### Plans and pricing Source: https://spintaxifycms.com/docs/plans-and-pricing The full plan comparison: credits, websites, Autopilot pace and team size. Every account starts with a **7-day free trial**: all features open, 5 AI articles, no card needed. Paid plans are billed monthly in US dollars, in advance, and renew automatically until you cancel. | | Free trial | Starter | Pro | Agency | | --- | --- | --- | --- | --- | | Price | $0 | $19/month | $49/month | $129/month | | AI articles / month | 5 in total | 30 | 90 | 300 | | Websites | 1 | 1 | 3 | 10 | | Autopilot | Full | 1 post a day | 3 posts a day | 10 posts a day | | Team members | 3 | 3 | 10 | Unlimited | | Cookie-free analytics | Yes | Yes | Yes | Yes | | Google Search tools | Yes | Yes | Yes | Yes | | All publishing destinations | Yes | Yes | Yes | Yes | Agency also includes white-label and priority support. ## Credits, in short One AI generation costs one credit. Credits reset each billing month and do not carry over. The full rules are in [Credits and plans](https://spintaxifycms.com/docs/credits-and-plans). ## Who you actually pay Payments are handled by **Lemon Squeezy**, our online reseller and Merchant of Record. They take the payment, handle the sales tax or VAT for your country, and send your invoices. We never see your full card details. If prices ever change, we announce it at least 30 days ahead, and the new price only applies from your next billing month. ### Manage your plan Source: https://spintaxifycms.com/docs/manage-your-plan See your plan and usage, change plan, cancel, refunds and deleting your account. Everything about your plan is on **Billing**. 1. **Current plan** — your plan, and until when it runs. 2. **Change plan** — press **Choose** on another plan. Upgrading gives the higher limits straight away. 3. **Usage this month** — AI articles, API requests, websites and team members, against your plan's limits. The AI article count is the same one you see on the Overview and in the AI Writer. ## Cancelling Cancel any time with **Manage subscription** on the Billing page (it opens Lemon Squeezy, who handle the payments). Your plan stays active until the end of the month you paid for. After that your published posts stay online and visits are still counted; AI writing and Autopilot pause until you choose a plan again. ## Refunds and account deletion Refunds follow the [Refund Policy](https://spintaxifycms.com/refund). The legal billing details are in the [Terms of Service](https://spintaxifycms.com/terms). To delete your account and all its data, [contact us](https://spintaxifycms.com/contact) from the email address of the account. ## Troubleshooting ### I can't sign in Source: https://spintaxifycms.com/docs/cant-sign-in Wrong password, wrong login method, or an empty workspace after signing in. Almost every sign-in problem is one of these three. ## 1. Wrong door There are two ways in: **email and password**, and **Continue with Google**. They are not interchangeable. Signed up with Google? The email form will not let you in. Use Continue with Google. Signed up with email and a password? Google sign-in with the same address can create a **second, empty workspace**. It looks like everything you made has vanished. It has not. Sign out, and come back in the way you originally signed up. ## 2. Wrong password Check the email address letter by letter first. One wrong character is the most common cause of a password suddenly not working. Then use **Forgot password** on the login page. The reset link goes to the email on the account; if it is not there in a few minutes, check spam. > Note: if you signed up with Google, there is no Spintaxify password. Nothing to reset here; it is your Google password that counts. ## 3. No verification email New email accounts have to confirm their address before signing in works. Look in spam and promotions for the verification email. Signing in again triggers a fresh one. Still stuck? [Contact us](https://spintaxifycms.com/contact) from the email on your account, and tell us which method you used when you signed up. ### My blog is not loading Source: https://spintaxifycms.com/docs/blog-not-loading Blog address not opening, a post missing, or a custom domain not working. Work down this list. The first two fix most cases. ## 1. Is the post published? Only **Published** posts appear on your blog. A **Draft**, or a post you **Archived**, is invisible to visitors — that part is on purpose. Open **Posts**, check the status, and publish it. ## 2. Is the address right? Your blog lives at **spintaxifycms.com/b/your-blog-name**, and the name has to match your project's address exactly, numbers and all. Rather than typing it, open the blog from the **Live Site** link in the dashboard. ## 3. Try a hard refresh If the blog loads but your latest change is missing, the browser is probably showing a cached copy. Ctrl+Shift+R (Cmd+Shift+R on a Mac) forces a fresh one. ## 4. Custom domain not working Check the domain's status in **Domains**. Not verified means the DNS record at your registrar is missing, or does not match what the dashboard shows — compare them character by character. Just added the record? DNS takes anywhere from a few minutes to a day to spread, and your hosted address keeps working in the meantime. Full steps: [Connect a custom domain](https://spintaxifycms.com/docs/custom-domain). ## 5. One post looks wrong If an article shows raw Markdown symbols — ### in the middle of a heading, that kind of thing — the content was saved without being rendered. Open the post in the editor, save it again, and reload the live page. If none of this helps, [contact us](https://spintaxifycms.com/contact) with your blog address and the page that fails.