How to Roll Your Own Linktree Link Landing Page and Control Your Brand

I’ve been using Linktree for a while now as my primary link on Instagram. For those that don’t know what it is – since Instagram only allows links in your profile, the trend is to have a landing page full of relevant links in your profile. Linktree is probably the ‘biggest’ of the link page services. I’ve used it for a while and honestly, it’s great.

But I read this tweet the other day that gave me pause. Why are large Instagrammers trusting their important branding to a third party? Look, there’s nothing wrong with Linktree. But as someone with a large following and an established brand, this resonated with me – I should have my own branded link page, that sells me – not someone else. Linktree offers white label branding, but it costs money. I also want analytics, which Linktree charges for.

I’m not one to do something that costs money when I can do it myself for free.

I already have a dedicated server with Blacknight. It has plenty of capacity and could easily support a 1-page website that only hosts links. It just has to look nice.

So, here’s what I did to set one up.

  1. Bought – I bought my brand name with the .LINK gTLD. It cost like $5 with Blacknight (my primary domain registrar now).
  2. Pointed it at my server.
  3. Installed a clean WordPress install with Softaculous.
  4. Installed Genesis and the Genesis Sample Themes.
  5. Switched to the Landing Page template in Genesis for the homepage.
  6. Installed Atomic Blocks and Kadence Blocks plugins.
  7. Created a block of buttons, customized them to how I wanted it to look.
  8. Installed Google custom fonts (I use Lato)
  9. Installed an SSL
  10. Installed Matomo Analytics
  11. Installed WPSupercache12. Set up all the links, added a background, added my logo, and social media icons.

And this is the end result – check out here – for best results, load it on your mobile:

A simple one-page landing page that does one thing, show links to the stuff I mention on my Instagram account. With Gutenberg blocks, it’s a little more flexible and I can add new features as needed. I now have free analytics and can see how each link does. And, I must say – it looks rather nice. It has my logo and my stock image I use for most of our marketing. When you load it on a mobile phone, it looks great. The page is easy to update and I can easily add new links for each new marketing campaign that comes down the line.

There was a bit trial and error before I settled on this approach. But once I got things set up, it took about an hour to have a finished landing page. It’s certainly wasn’t as easy at setting up a Linktree. But now I control every aspect of it and it cost me nothing more than a new domain and an hour of my weekend.

Why You Need Your Own ISBN Numbers

So, I’ve published quite a few books on my own over the years. I’ve always had ISBNs with my books (international serial book number – basically the ID number of your book so it can be found anywhere). At one point, a few years ago, I bought 10 of them from Bowker, the main company that sells ISBN numbers, with the assumption it would take me a while to use them. I have finally used them all, and with several books in the pipeline for the rest of this year, it became clear I would need more.

But they’re expensive! Bowker now charges $295 for ten numbers (or just $125 for a single number!). It’s a high upfront cost, and I know it’s a small cost when you project the revenue from 10 books. But it still bites.

I’ve moved recently to using Ingram Spark for publishing Anglotopia’s books (I may write about the switch eventually). Happy with it so far – it offers hardcover options which Amazon KDP doesn’t offer (plus many different trim sizes). They offer a free ISBN if you use their system to publish the book. I did a few books recently with this feature.

But then, I wondered, what’s the cost of free? What’s the benefit of having your own number versus just using one provided by Ingram (or KDP).

After a little research, I discovered why.

You need your own ISBN so that you’re listed as the publisher, not Ingram or Amazon KDP. They become the publisher of record if you’re using their numbers. As I run a corporation that acts as the publisher, I’d much rather my company be the publisher.

I wondered what this meant in practical reality.

So, I looked up Adventures in Anglotopia, where I had my own ISBN, to see who the publisher is listed as on Amazon. It was Anglotopia LLC.

I looked up a book where I used the ‘free’ ISBN and sure enough – ‘Indy Pub’ was listed as the publisher.

You can bet I will no longer be doing that. It’s mostly a vanity thing, but Anglotopia is pivoting to publishing more books, and we want to be the ‘publisher’, not the platform we’re using to actually print the books.

And when you use a service like Ingram or KDP and use their ISBN’s you’re locked into using them for printing copies. And if someone comes in for a bulk order, they would contact your publisher – you’d rather that be you directly instead of Ingram or KDP.

So, spend the $295 on 10 ISBNs. It’s a small investment up front but will pay off in the future as your little publishing house grows.

How to Roll Your Own Invoice Website With WordPress to Process Your Own Invoicing Payments

As someone who runs a small business, I need to send invoices quite often. For a few years, I had a solution that worked fine. I used GoDaddy Bookkeeping to keep my business’s books and to send invoices to clients. They had a built-in invoicing feature that processed payments through Stripe.

It was a very simple system, and it worked very well. My clients never had anything bad to say and getting payments quickly through Stripe was nice. Occasionally someone would have to pay with a check, and that was fine as I could manually mark the invoice as paid. But it could only do it in in one currency because it was simple software. So, when I needed to send invoices in GBP, I had to use something else (like Zervant).

Then GoDaddy Bookkeeping basically stopped working.

After GoDaddy acquired Outright, they proceeded to continue to run it, but never improve it or add new features. Then, the one thing I relied on this service for, invoicing – stopped working well. Two things happened when I sent an invoice to clients – they got prompted to log in to GoDaddy, something they never had to do before and why would I assume my client would WANT a GoDaddy account to pay me? Second, something fundamentally broke – there were two instances where a client would pay the invoice twice accidentally and wouldn’t receive a confirmation that they paid at all.

This was very bad. One invoice was for several thousand dollars. Thankfully I was able to reverse the charge right away. But this was enough to make me look for an alternative mostly because I need to occasionally send invoices in other currencies and that didn’t really work with various invoicing alternatives.

In the meantime, I resumed sending invoices through PayPal, which does the trick. But then again, they also have high fees and it isn’t that professional.

What I really wanted, was a simple invoicing service that used Stripe. There are plenty of invoicing services out there, but they all charge a monthly fee, on top of charging fees per transaction. I looked at them all. But I’m trying to cut my business’s costs and adding another monthly bill to just send invoices was a non-starter. I just wanted something simple that made an invoice, sent it to someone and let them pay with their credit card through Stripe.

Eventually, I came to a solution: I made my own payments website.

Years ago this would have been prohibitively expensive. But not so now. There are several WordPress plugins that let you send invoices. I found a couple paid solutions that were pretty cheap – most give the core invoicing feature away and charge for add-ons (like specific payment gateways). After investigating the various plugins, I decided to just build my own payment processing website.

Here’s the process I went through:

  1. Bought a specific domain just for this – ( just seemed too flashy but I also registered it so no one can spoof it)
  2. Installed WordPress on my Blacklight Solutions Dedicated Server.
  3. Installed an SSL
  4. Installed Sliced Invoices
  5. Set it up
  6. Tested
  7. Purchased 5 Sliced Invoices extensions, totaled $105 and installed them.
  8. Linked to Stripe
  9. Sent several test invoices and did a test payment.
  10. Sent the first invoice to a client (which was promptly paid)

It took an afternoon over the weekend to set up and granted, I already know what I’m doing in this regard. The website is very simple, with a 1-page homepage that says it’s a payment site and you should only be there if you were sent there. I blocked search bots because this site doesn’t need to be indexed in search engines.

Sliced Invoices sets up its own backend and creates secure links for invoices. Only the client can view the invoice. It also gives them an area to login to view their invoices and current statuses. The invoices are basic and nicely designed. They do the job. When you send an invoice to a customer, they get directed to the page on your website to pay. You can have the page be public or use a secure link only they can access. You can track and see if the invoice has been viewed. You can send reminders for payments due.

This is the page the customer sees when they get notified they have an invoice.

I can send invoices in US dollars, British Pounds, and Euros (and also let British customers Pay via bank transfer). It does everything I need an invoicing service to do. And now I don’t have a monthly fee (other than hosting which I was already paying for). I might have to renew these extensions in a year, but we’ll see if it’s necessary.

So far, I’m very pleased. I’ve solved a particular problem that I was having. And it didn’t cost that much. I’ll report back in a few months and see how it’s going in practice.

Quitting Mailchimp and Moving My Small Business Email Marketing to Sendy For a Fraction of the Cost

Email is the most important marketing medium for businesses, especially in the age of declining free social media reach. Email is the only way to communicate with your customers directly, and they get to choose whether to interact with you or not.

For almost a decade, I’ve used Mailchimp for my email marketing at Anglotopia. I’ve generally been pretty happy. I accepted their regular prices rises in stride because my business was successful, and it could afford it. But what happens when the business is struggling and can no longer afford it? The almost $300 a month I was paying to Mailchimp began to really, really bite as Anglotopia has struggled over the last 18 months.

I also began to become disillusioned with the service. I always respected Mailchimp in that they were a bootstrapped startup that eschewed Venture Capital money and followed their own course, too much success. But Mailchimp had a shift in strategy recently – they want to become the center of all marketing for a business. They added feature after feature, features I didn’t really need or want to use. I didn’t need another way to pay for Facebook and Instagram ads. Then they started doing questionable things like funding original short-form content. I would be presented with the weirdest things when I hit the login interstitial screen.

All I could think was that my $300 a month was funding crap like this. Meanwhile, the email side of their business wasn’t really improving or innovating much. They didn’t really add new features to the drag and drop email builder. Email list management, by far their most important task, is, at this point, a nuts & bolts type of service that anyone can emulate.

Looking for a way to cut costs, I began to research the possibility of leaving Mailchimp. As someone whose business grew and was successful because of it, this was a hard decision to make. But I’d had enough. I needed a better way.

There are plenty of Mailchimp competitors, and I tried quite a few of them. But I kept coming back to one major problem – most of Mailchimp’s competitor’s pretty much match Mailchimp’s prices simply because they can. There isn’t really a much cheaper alternative. I felt trapped. I needed email marketing, but it’s just too expensive.

That’s when I started thinking about the fundamentals of email. What is the most important thing? List management is easy. Sign-up APIs are easy. Drop and drop email builders are pretty common, and there are many free ones. I came to the conclusion that the most important things to me was deliverability — the simple idea of being able to reach as many of my subscribers as possible. So, open rate and clicks were my most important metrics.

If I could safeguard those, then I didn’t really care which service I used.

I heard about Sendy earlier this year and dismissed it. It sounded too good to be true. Parroted by many of the marketing blogs – that have an affiliate interest in selling it – I didn’t think it would work for me. Sendy is a script that you can install on your own server to manage your email list and sending. It uses Amazon SES, which is a simple email sending service provided by Amazon Web Services (like Mandrill or Sendgrid). I’d never heard of it, frankly.

I did a bit of research and was put off by blog posts that said Sendy required a complicated sever install that you would probably have to hire someone to do. So, another cost. Then you’d have to go through the sign-up process with Amazon and be approved to send (which can be tricky).

Sendy would control your email sending; Amazon SES would send the actual emails.

The cost of this? Sendy costs $59.99 to license for a single user/website. Amazon charges $.10 per 1000 emails sent. It simply sounds too good to be true.

Surely, deliverability would be an issue. Would Amazon have deliverability that’s just as good as Mailchimp, a trusted email sender? Looking back, it’s a stupid question to ask oneself – of course; Amazon has good email deliverability. It’s bloody Amazon.

Anyway, there was enough iffiness to put me off of giving it a try mostly because I was too cheap to spend the money on the software and hire a developer while still pay Mailchimp’s inflated prices. I went back to researching alternatives. I did not find one. And I continued to stick with Mailchimp and watched the price rise again recently.

I’d had enough.

There was also a big unanswered question of how I would build my emails every week. The Mailchimp builder was good enough. Sendy doesn’t have an email builder, you just paste the raw HTML code, and that’s it. Of all the alternative services I tried, I actually really liked the email builder that Mailerlite uses – its RSS integration is much nicer and flexible than Mailchimp’s. I really struggled to find an email builder I could use with Sendy; the only one people talked about in searches was defunct.

A few months went by, and I finally decided to research Sendy some more. I looked at their documentation on the website and read through the installation process and realized it wasn’t actually that hard. It was something I could easily do within my skill level (it’s very similar to installing WordPress). I even had a server I could throw it on. More searches on building emails taught me that I could actually keep using the Mailchimp builder for free, and just cut and paste the email code into Sendy. It was a Eureka moment.

So, I pulled the trigger and bought the software, figuring a $60 investment would save me more in the long run. I downloaded the software right away and had it up and running on my server in less than an hour. I signed up for Amazon SES and waited for approval, requesting 75,000 email sends a day (I have about 60,000 subscribers across all my lists and figured this would do).

I did a few tests to familiarize myself with Sendy, and it worked flawlessly. I waited a day and was approved for sending by Amazon at a rate of 50,000 emails a day at 14/emails a second. I figured this would be plenty. I followed the directions to link Sendy with Amazon SES, and everything was set up in an afternoon.

I decided to test initially with one of my smaller lists to get the hang of things. The list had 9,000 subscribers. I exported from Mailchimp, which was easy. Importing into Sendy was a little troublesome. No matter how I formatted the CSV file, the importer would not take it. In the end, I just cut and pasted the list in batches of a couple of thousand address at a time into the importer box.

I had no issues getting my newsletter template/code from Mailchimp (all you have to do is go to ‘view source’ in your browser when the test preview is open). My old newsletter looked fine. But it was, in the end, my ‘old’ newsletter. I remember Mailerlite and really liked the idea of overhauling my newsletters. So, I built a new template there and used that for my first newsletter send. It looked a lot better. I had to make a few minor changes to the code to update the ‘View in Browser’ and ‘Unsubscribe’ links, so they didn’t go to Mailerlite but to my Sendy site.

The real test would be deliverability, open rate, and clicks. After doing many, many tests to make sure things were just right. I hit send on my first deployment of the Londontopia newsletter to 9,000 subscribers, sending from my own server.

You can see what it looks like here.

Sending was slow. It took 5 hours to deploy to 9,000 subscribers. This was intolerable and was practically a deal-breaker. I need the emails to go out fast. Deliverability must be fast. Mailchimp is fast; it has that going for it. Turns out, after poking around the settings, that I’d set it up wrong. Amazon was allowing me to send at 14 emails a second, Sendy was set to send at 1 email a second. Spoiler, when I deployed the next Londontopia newsletter, it sent in less than 30 minutes (but I ran into other issues, which I’ll share later on).

Deployment was successful, and I watched my analytics and watched the stats provided by Sendy. Open rate was off to a strong start. I would need a couple of days to judge the stats. So, I continued to check things several times a day over several days. Eventually, my open rate matched and even exceeded what it was with Mailchimp. Sendy provides basic stats: open rate, location opened, and what was clicked. I liked this, Mailchimp basically tracks a user across the web, Sendy just tracks the basics. Much less creepy. There’s the usual data on bounce rate, unsubscribes, etc. That was at the same rates as they were in Mailchimp, so nothing of concern there. I run clean lists.

Here’s an example of the stats page:

I really liked that the email is hosted on my own server. You really have complete control of everything. I decided to register my brand’s .email domain and use that for email sending. I worried this might also affect deliverability, but it didn’t appear to. Click rate was a little lower than I would have liked, but I chalked that to the new design. Engagement was still strong. It cost a total of $.80 in Amazon SES to deploy all the emails. $.80. That’s it.

So, after this one test, I was pretty reassured that this was the direction to go in. For the first time in a long time, I was very excited about a business move. I would be saving almost $4000 a year – enough to pay for a trip to Britain for two. So, with the next monthly bill from Mailchimp due in a few days, I moved quickly to move my data from one service to the other. Mailchimp, to their credit, makes this very easy. It’s just an export of a few CSV files. It didn’t take long at all to get them into Sendy.

I created a new email template for my main newsletter in Mailerlite and also created some new eCommerce email templates for my online store list. Everything went smoothly, and I was really proud of the new designs and how slick everything looks. I would be giving up a lot of commerce tracking, but honestly, that data in Mailchimp isn’t that useful when Google Analytics provided better and more accurate data on this anyway.

Here’s a sample of the main Anglotopia Newsletter.

My second week with Sendy was about getting used to it, learning its quirks and deploying all my emails for the whole week with it. It was a little time consuming, but open rates stayed the same. Still, though, click rates were a little lower. But the response from my readers was good. And people still continued to buy things.

There was one major issue – by increasing the send rate to 14 emails a second, this overloaded my cheap shared hosting (I don’t use this hosting account for my main websites). The server kept hitting its resource limits and going offline. This was slightly annoying, so I upgraded the server to the next tier, but again I still had the same problem. I reduced the send rate and it only overloaded on large email sends. This is a short term solution. I will need a more permanent server solution that won’t go down when sending. Thankfully, Sendy keeps sending until the whole list is deployed, so if the server exceeds its resources, it just resumes when it comes back online. I will likely need to get a VPS or cloud hosting, which can be done affordably and I need new hosting anyway (my next problem to tackle is finding a new, cheaper hosting for all my websites, I have someone in mind).

After looking at the data and becoming used to Sendy as a platform, I made the final decision to ditch Mailchimp. There was one hiccup – I’d forgotten that I was using Mandrill, which got acquired by Mailchimp, for all my transactional emails and WordPress emails. This had an easy solution – I could actually use Amazon SES for all of this, I just had to install a new plugin to send all those emails with SMTP. Problem sorted. This took about an hour to sort out.

I also needed to update all my subscription forms and website popup sign-ups. The major ones have been done, but I’m still in the process of doing this across all my sites. Sendy has an API that most of the major services talk to. It’s just a matter of going through and updating everything. But as of two weeks ago, all my new email subscribers are going directly into Sendy. I also need to work on the email messages that go to new subscribers and brand everything. In addition, I want to create some automations (which Sendy supports).

I could make a clean break from Mailchimp.

So, I went into my account settings and ‘paused’ my account. I would not be billed for this month. I could continue to monitor everything, and if I don’t like what I see, I can simply reactivate my account. That’s fine for now. If everything is fine by the end of the year, I’ll go in and clear out all my data and say goodbye to Mailchimp for good.

This solution is not ideal for everyone; you do need a bit of techy knowledge to get this setup. But once you do, you have complete control of your emails for a much lower price. I’ve gone from spending almost $300 a month on email marketing to less than $25. It felt pretty good this week to not get charged by Mailchimp. It’s one less thing I had to stress about and figure out how to cover. I’m very happy with Sendy so far. I hope anyone considering ditching Mailchimp finds this useful. It was very hard to find something like this when I was doing research, so I hope an unbiased look (I’m not trying to sell anything here), is useful to anyone else looking to make this change.

Let me know your thoughts or questions in the comments below.