The Black Magic of Getting Your Book Tweet Right

I’ve been doing this book marketing thing for quite a while now, and one thing that I often need to help people with is getting their book link tweets right. I figured it’s time for me to put all my tricks in one place. This is that place.

“People click my link and it says the book isn’t available”

The problem here is that there isn’t just one Amazon. There are lots and lots of them. If you share a link to, and someone in the UK looks at that link, they’ll see your book, but Amazon won’t let them buy it. They need to find your book at But they aren’t going to do that, are they? It’s a minor miracle that you got them to click your link in the first place. No way they are going to go typing in a search to a different website to find your book in the right store. Not. Gonna. Happen.

The solution (which I’ve mentioned before) is to use from (there are other services, but I like this one best). It’s basically a link shortening service like, but it is smart about geography and all those Amazon stores. It looks at where the person is clicking from, and sends them to the right place. Also, because they haven’t been around for 100 years like, you can get pretty much whatever short link you want. I’ve never had any trouble getting the exact titles of my books as my short link.

Their links work for both Kindle and paperback books, so if you’re doing both, you’ll generate two links. These are the links I use:

When you set up the link you want to make sure that the Amazon link is like this:{ASIN or ISBN}
Be sure to use https (not http) and you don’t need your title in there. If you copy the link from Amazon, just delete the junk between .com and /dp and if there’s junk after the ASIN/ISBN, delete that, too. Obviously you should test the link to make sure you didn’t delete too much.

“I messed up and put in the wrong link, how do I fix it?”

After you create the link at and you test it, if you find that you messed up and didn’t put the right link in there, you can fix it as follows:

  1. Delete the short link you created
  2. Create the link again, not making a mistake this time
  3. Go to this address{your nickname} for example, if you created you’d need to hit

That’s not documented anywhere. The nice guy who administers the site told me that trick when he and I were debugging another problem which I’m about to tell you about.

“My tweet doesn’t have the preview of my book!”

So you’ve created your short link and tested it and it works great. Now you tweet it, but all that shows up is the short link, not the pretty cover and blurb and star rating from Amazon (known as a “Twitter Card”). Why is that?

This happens because when your book is brand new, Amazon doesn’t generate the right “meta tags” on the page for the Twitter card. No idea why, but it pretty much never does. So you have to hit the page over and over, and eventually it starts generating the right tags. But there’s a catch. Twitter saves the first version of that page it sees, so even once Amazon is generating the right meta tags, Twitter ignores them.

You can actually address both of these problems with one simple trick! There’s a tool that developers use to make sure their meta tags are good. You can use this tool to both force Amazon to re-generate the page, and to force Twitter to pay attention to the changes.

Go here: and enter the link. Be sure to start with http, like If you forget the http, it won’t work, and the error message is confusing. Click the “Preview Card” button and you’ll either see a card, or you won’t. If you see the card, you’re done.

If you don’t see the card, count to ten and click preview card again. No card? Count to ten and click it again. You may have to do this many, many, many times. Trust me. This will eventually work. Once you see the card, you’re done. Go look at Twitter and you’ll see that the tweet which didn’t have the card, now suddenly does have the card.

“You didn’t answer my question!”

Ask in the comments. I can probably help.

BookBub Ads? I’m calling it. The patient is dead.

First test ad

First test ad

You may recall that I was skeptical about BookBub Ads when they were first announced. While it’s exciting to get a crack at that population of known book buyers, I didn’t really think CPM advertising (paying for impressions, rather than clicks) made sense, since they count opening the email as an impression. Yet you have to scroll down to see the ad. That means that a lot of those “impressions” aren’t really impressions at all, so we would expect the CTR (click-through rate) to be low. Well I’ve run a lot of tests, and I can tell you that my skepticism was justified. The CTR on BookBub ads is horrible. Pretty consistently about 0.4% for what should have been a very clickable ad. (See above.)

To make sure I was being fair to BookBub, I just ran a Twitter ad campaign. I’m using this tweet, which I think is pretty much the same creative as that ad:

Okay, so it’s got more going on than that ad, but BookBub gives you a pretty tiny footprint, so I did my best to capture the essence.

I tried targeting Erotic Romance, Contemporary Romance, and Chick-Lit readers. And I tried targeting Amazon and iBooks readers. And I got the same 0.4% CTR for all of them. I also found that all of those markets had the same CPM: $2.30. I couldn’t get any impressions at a $2 CPM bid, and if I bid $2.50, I’d get a bunch at that $2.30 level.

After spending $70 on BookBub, I had 128 clicks that converted to 5 sales. That’s 4%, which is neither good nor bad. It’s just a normal conversion rate. (My first test got a pretty high 7% conversion rate, but that didn’t hold up, so it was just sampling error, apparently.) 128 clicks for $70 is a CPC of $0.55. Let me put these numbers in context by comparing them to that Twitter campaign.

BookBub Twitter
CPM $2.30 $1.29
CPC $0.55 $0.12
CTR 0.40% 1.05%
Conversion 4% 3%
CPS $12.00 $4.04

(CPM: Cost for 1000 impressions; CPC: Cost per click; CTR: Click-thru-rate; Conversion: % of clickers who buy; CPS: Cost per sale.)

In BookBub, you say “I’ll spend $2.30 for 1000 impressions” while in Twitter you say “I’ll spend $0.12 when someone clicks the link.” So the click-thru-rate in Twitter doesn’t really matter, except that if it’s low, you won’t get as many impressions for your bid. The first three lines in that table are really data about the marketplace. The next line is data about the audience (or how well I’m targeting the audience). The bottom line is the bottom line: What is each of these sales costing me. If BookBub had a killer conversion rate, it could make up for the high CPM or the low CTR. But it doesn’t.

Note that the CPS is not doing that great for Twitter, either. It’s costing me four bucks to sell a three buck novel that I make two bucks on. Also, those Twitter impressions are almost entirely coming from the UK. It seems the US advertising market has not settled down from the inflated US Election ad rates yet. (This especially sucks because I make even less on UK sales because of that insidious VAT that has to appear in the list price; in the US, sales taxes are on top of the list price.)

So here is what we can conclude: BookBub ads are a terrible way to sell books. I think other advertisers have figured this out, because the ads I’m seeing in my BookBub emails are all for home security systems. And I think, in a way, that’s the reason the book ads don’t work. The CPM for BookBub book ads should be about $0.50. But the CPM for ads in general is almost five times that high. And since BookBub is mixing book ads from their publishing partners with general ads from anybody, those general ads drive up the book ad CPMs to make them unjustifiably pricey.

A couple other notes if you want to try BookBub ads: their support people are very responsive and very nice. But they don’t understand the ad market at all. (The nice woman suggested I narrow my targeting to just followers of individual authors, to lower my CPM. I explained that narrowing would certainly increase my CPM, because that’s how markets work. She checked with someone and apologized for the bad advice.) Also, their dashboards are riddled with math errors. So be very careful when you look at the data. I reported all these errors, so I suspect they’ll fix them soon. Daily numbers seem to be reported reliably. It’s the roll-ups that are messed up.

If anyone from BookBub happens to read this post, here’s my advice if you want to make BookBub ads work for authors and publishers of books:

  • CPC bidding, not CPM, since your impressions aren’t impressions
  • Better demographic data, so we can at least tell who is clicking the ads
  • Throw out the random advertisers and have a pure book market

Every one of those things is going to cost BookBub money, so don’t bet on any of them ever happening. For now, I’m going to stick to Twitter ads and lower my CPC bid so I’m not losing money on every sale. Because you should never pay people to read your book.

Getting MailChimp Sign-ups without that Annoying Confirmation Step

UPDATE: Twitter has announced that they are retiring this feature in February 2017. Bummer.

If you are an author, you probably use MailChimp for your mailing list. MailChimp is great. Until you get 2,000 subscribers, you don’t have to pay them anything. They have pretty reliable service (as reliable as can be expected for such a complicated thing as mass emails). And their sign-up process is straightforward. You convince someone to give you an email address, they get a confirmation email, they click a link in it, and then they are added to the list. Like this:

The only trouble is those middle steps. They don’t always notice the confirmation email, because it might end up in their junk folder. And even if they get it, they might not bother clicking through.

MailChimp has added a new way to get subscribers that skips the confirmation step! It also saves subscribers from having to type in their email address. Cool, huh?

Follow this link to see an example.

That will take you to a Tweet. I could embed the tweet here, but then the magic wouldn’t work. It has to be viewed in Twitter (app or website).

You click the subscribe button, it kind of asks if you are sure, and that’s it. You’re on the list. No confirmation email step!

It’s not perfect. In particular, if you have a “Final Welcome” message set up it won’t send that. I reported that to the MailChimp people as a bug, but they tell me it’s by design. (That’s programmer speak for “it’s a bug we don’t feel like fixing.”) So if you regularly send new subscribers baked goods, you’re going to have to watch your list membership. Also, they don’t send you the notification that you got a new subscriber. So I mean literally watch your list membership.

So how do you do this? First, you need to have Twitter Ads enabled on your account. Just go to, go through the setup stuff, and give them a credit card. You don’t ever have to run an ad. You just need it set up. So this won’t cost you anything.

Next, pop over to your mailing list settings in MailChimp and add a List Field called Twitter. When people sign up, it’ll put their @ in that field.

Now go to your blog and make a new page called /privacy and put in something. Like this: Privacy Policy.

The rest of the steps are detailed in this article on the MailChimp site.

The “Twitter” field you made and that privacy policy page are things you’ll put in the card setup when you follow those instructions.

At the end you go back to and choose Creatives > Cards, then choose the Tweet icon next to your new card. You tweet about the card, it shows up on your TL, and you’re done. Twitter thinks you’ll go on and give them money to promote the tweet, but you don’t have to do that.

There are a lot of steps, but I found it pretty simple to follow their instructions. If you hit a snag, let me know in the comments and I’ll help you sort it out.

Twitter Audience Platform

(TL;DR: Don’t check this box. See the update at the end to understand why.)

Twitter just opened up the “Twitter Audience Platform” option for the kinds of campaigns we use to sell books. The idea is that your promoted tweet will not only run in Twitter, but it will also run in other mobile apps. Typically, these would be free ad-supported apps like games that make you sit through an ad now and then.

Always the adventurous one, I decided to go ahead and check the box to allow this. It then asked some questions that I didn’t really have good answers for, but here is what I put:

Twitter Audience Platform opt-in

The reason they ask those questions is probably because some apps don’t want to include ads for competing websites or something. Beats me. That’s the only change to the campaign from what I told you to use in my how-to.

The campaign just started, but I already have a pretty stunning result:

Twitter Audience Platform CTR

Early results looking at only Twitter Audience Platform

My bid was $0.08. I haven’t had many impressions yet, but holy cow! Look at that click through rate! For reference, here is the same data when you only look at inside-Twitter impressions:

Inside Twitter CTR

Early results looking at only inside-Twitter


I don’t know what the deal is with the US campaign right now. But over time, I’m sure those will both settle in at 1% CTR like all my other campaigns.

Not only is the CTR I’m getting in non-Twitter apps staggeringly high (about 10x what I usually see in Twitter), but because of that, the cost per click is low. That’s because Twitter gives your ads a discount if they have exceptional CTR. I don’t know why they do that, but I’ve read it in multiple places, and it seems to be the case here. They are only charging me $0.05 instead of $0.08 per click.

Another possibility is that nobody has opted in to the Twitter Audience Platform yet, so I’m bidding against a far smaller pool of advertisers. (With this CTR, I doubt that very much.)

I don’t have any conversions to actual sales, since I just started this campaign and I’m being a cheap bastard and not bidding the $0.10 I need to bid to get a good flow of impressions yet. But damn. This Twitter Audience Platform thing is amazing.

As always, I’ll update when I have more data…

Update: Click Fraud Maybe?

After a week, the click-through-rate on the Twitter Audience Platform impressions continue to be sky-high, however my conversion rate is terrible. Since nothing has changed on my Amazon pages, and I’m at the lowest possible price (which we have independently established gives the highest conversion rate), I have to conclude that when people click on the Twitter Ads in other apps, they never go on to make a purchase.

Why? The most obvious answer is click fraud. When you add an ad platform to your app, you get a percentage (60% in Twitter’s case) of the revenue those ads generate. The more revenue the ads produce, the more you make. This creates an environment perfect for click fraud. Click fraud is pretty easy: you just contract with a bunch of people in a very poor country to download your app and do nothing but click the ads.

It’s very hard for the ad platform to detect it, and in the world of mobile apps, even if you get caught, you can easily just create a new identity, publish your apps there, and sign back up.

I have no hard evidence that this is happening, of course. But I do know that the CTR for the Twitter audience platform is 7-15 times higher than I see on Twitter, and the conversion rate is crap. So regardless of the reason, this is a terrible deal for advertisers.

Bottom line: DO NOT CHECK THE TWITTER AUDIENCE PLATFORM BOX when you set up your ad.

Attempting Amazon Ads

As you know, I’ve cracked the code on Twitter Ads. I have developed a method that gets me a reliable stream of people who will buy my book. I don’t make any money because advertising costs about the same as my royalty, but the hope is that these readers will go on to buy my second book. Never one to rest on my laurels, I decided to give Amazon Ads a go. Amazon Ads are something that you can do if you opt in to KDP Select, which I happened to have done. It’s very easy to launch a campaign from your KDP dashboard.

Amazon Ads work exactly like Twitter Ads, in that you make a bid per click, and then some portion of those people who click will buy your book. However, that’s where the similarity ends. The first thing I ran into was the editorial review of the ads. Twitter has an editorial review process for ads, too. But theirs is simply based on word blacklists. Amazon is much more invasive.

Rejection #1: Including a review

As you may recall my “money maker” tweet that I use in Twitter Ads is this:

So I tried just using that as the text of my ad. That ran afoul of the censors:

Unfortunately, we are unable to approve your ad as it contains references to reviews or star ratings in custom text.

You aren’t allowed to include star emojis or reviews in ad copy. I conveniently broke two rules at once!

Rejection #2: My cover

This one is funny, and I’m not entirely sure they did it on purpose. (Update: yeah, they did.) Amazon ad censors have a reputation of rejecting ads for books based on their covers. A bare male chest, a gun, a bullet hole, a knife, a red splotch that evokes blood—those are just a few of the examples I found of covers that had been rejected. My ad was rejected:

Unfortunately, we are unable to approve your ad as your book cover violates one of our ad guideline policies.

In case you’ve forgotten, this is my cover:


Clearly this is not a violence issue. In addition to the violence stuff everyone else runs in to, the guidelines ban:

Provocative imagery such as blatantly sexual prurient poses or poses that may be suggestive of sexual behavior, including partial nudity, excessive cleavage, or models in lingerie, underwear, or swimwear

You notice that nowhere in there do they specify “human” sexuality. So my working theory was that they objected to the depiction of floral sex organs. I prepared this alternate version of my cover…

A child-safe version of my cover.

A child-safe version of my cover.

I also contacted KDP support because those guys are the one of the best support outfits I’ve ever encountered. If anyone could get to the bottom of the censor’s thinking, I figured they could.

However, before they got back to me, a friend suggested that while the rejection said the issue was the cover, perhaps it was actually still the ad copy that was the problem.

Cerebral and erotic, Entropy is unlike any romance novel you’ve ever read.

My friend thought that “erotic” was possibly a blacklisted word, and either they checked the wrong rejection box, or with the context of the word “erotic” the flower became too salacious.


So sticking with the cover I had (I was just joking about the black boxes), I changed the ad copy to:

Entropy is a provocative journey unlike any romance novel you’ve ever read.

I figured “provocative” was enough of a euphemism for sexy that I’d get it past the censors. And it was! Almost…

Unfortunately, your ad campaign has not been approved to run on Kindle E-readers for the following reason(s):
Your book contains content that is too erotic or provocative in nature.

I didn’t say it was too provocative! But apparently someone there took it upon themselves to read my book and draw their own conclusions. Oddly, their purchase hasn’t shown up in my royalty report.

Anyway, that’s fine. I don’t really care whether the ad appears on e-readers. So here’s the approved ad:

Approved Amazon Ad

My First Amazon Ad Campaign

For my first campaign, I set my bid to $0.10 per click. They recommended $0.30 as a minimum bid, so it’s possible that I won’t get any impressions. Unfortunately, the data feed is horribly slow and I don’t get any feedback on how the campaign is going for 24 hours. So I’ll leave it at a dime for now to see what happens.

I started by targeting people who are interested in contemporary romance. Unlike Twitter, I have a high degree of confidence that Amazon actually knows what people’s interests are.

I also could have targeted people who bought certain books. But that’s a hell of a lot more work. So I figured I’d start with broad interest targeting to see what conversion rate I get.

I’ll update when I have some numbers to report!

Update: Rejected Again!

The campaign ran for a couple of days. In that time, I learned:

  • $0.10 and $0.20 bids are too low to get any impressions in the contemporary romance category
  • Amazon only updates the dashboard once a day, in my case around noon EDT

So I bumped my bid up to $0.30. The conversion rate would have to be insanely great for that bid to be viable. But I guess I’ll never know, because an hour later, this happened:

Rejected Again

You read that right. They really are rejecting a picture of two fucking flowers for being too overtly sexual.

I opened a support ticket with my buddies at KDP. I included that line, pointed out that my cover is two fucking flowers, not two flowers fucking, and asked them if they could find out what the guys at AMS are smoking because I want some. (Okay, I didn’t say it exactly that way. Okay, I kind of did, actually.)

So now we wait.

Update 2: I heard back from KDP Support

They said that it was rejected for two reasons: the provocative cover image, and the fact that there is erotic content in the book (they quoted a couple of the reviews).

So there you go. Amazon refuses to run ads for novels targeted at adults.

It’s no great loss, because it appears I wouldn’t get any impressions unless I bid at least $0.30 per click. And there is no way my conversion rate would be high enough to break even at that bid. (It would have to be about 15%, or three times the conversion rate I see on Twitter. No way that’s going to happen.)

So I’m scratching Amazon Ads off as a marketing channel, and turning my Twitter Ads back on now.

Adventures in Pricing

When last we met, I had figured out how to use Twitter Ads to provide a steady stream of visitors to my book’s page on Amazon. To summarize the math: If I spend $10 and bid $0.10 per click, I’ll get 100 visitors to my page. If 5% of those people buy my book, that’s 5 sales. I make about $2 per sale in royalties, so that’s $10. So if I spend $10, I earn $10. Why do that? Because some portion of those people will go on to buy the sequel to my book, and those royalties won’t cost me anything to acquire. Also, I can actually bid $0.08 per click and still get impressions, so I do a tiny bit better than break even.

Now that I have a click engine that reliably delivers eyeballs to my page, the obvious next question was what price my book should be. Of course, that’s a question every author has, but I’m in a unique position where I can actually find out the answer.

If I raise my price, we would expect my conversion rate to go down. That is, fewer people will be willing to pay $3.99 than were willing to pay $2.99. But I’ll make more royalty at the higher price. So we can define an optimization metric: ( royalty x conversion rate ). The value at which that number is largest is the best price for my book. So what I’ve been doing for the past couple weeks is testing different prices in the US/Canada and UK markets, to figure out what’s optimal.

Higher prices = fewer sales

Higher prices = fewer sales

If you look at the circles, that’s the conversion rate at different prices. I’ve normalized everything to dollars (excluding any taxes). UK prices are a little lower, because when I made them tidy numbers with the VAT included, it just worked out that way. The green circles are the US conversion rate, and the blue circles are the UK conversion rate. Within the experimental noise, I’d say the circles are all lined up.

So that confirms the first hypothesis, which is that higher prices yield fewer sales. That’s common sense, but it’s good to test these things to be sure.

The crosses show the royalty I earned multiplied by the conversion rate. Our optimization metric. Now this is a little complicated, because there are Kindle Unlimited read-throughs mixed with outright book sales. And while I can change the book price, I don’t have any control over the page rate KU borrows pay. So what I actually did to get this metric is take the total royalties I earned (book sales plus KU), divided by the number of clicks that I bought with the Twitter Ads. (If KU wasn’t in there, that would give exactly the same number as the royalty on a single book times the conversion rate. If you don’t believe me, ask in the comments and I can do a mathematical proof. I double dog dare you.)

I should set my price to the place where the cross is the highest. And clearly, that is the lowest price. What this tells us is that the increase in royalties does not compensate for the loss of buyers at a higher price. Note that Amazon has been trying to tell authors this forever. They say very clearly on the KDP setup page that the biggest earnings will come if you set your price to $2.99. My experiment shows that their average for all books perfectly matches my experience with one book.

This raises an obvious question: should my sequel also be $2.99? Right now it’s $4.99. The customer acquisition process is completely different for the sequel. The only people who buy it are going to be people who read the first book and want to know what’s next. My gut says that these people are less price sensitive. On the other hand, now that I’ve fixed my first book price at $2.99, I’ve set a price expectation. A 66% increase in price on a book that, for all intents and purposes, looks exactly the same (same page count, similar cover, same author, same characters!)… yeah, that’s not right. So I’m going to loose some portion of those people, who probably would have paid $2.99 but will not pay $4.99.

I could run an experiment, but that’s a much tougher one to run, because the volume of people is so much smaller. It would take months to get numbers I could trust. Deep down, I know the answer. The sequel should be $2.99 also. It’s only a question of how long it takes me to bite the bullet and change it.

Twitter Ad Campaign: Step 5

This is part of a series of posts about how to run a successful Twitter Ad campaign to promote your book. Start here.

Step 5: Run a continuous campaign

You can just add more money to those existing campaigns and they will start up again. My approach is to feed each campaign segment in $10 increments, and continuously monitor the clicks and conversions. I track it in a spreadsheet so I can keep track of my conversion rate in real-time, although I’ve found that conversion is fairly constant in each market.

There is some evidence that Twitter will stop giving impressions to tweets that are old. So what I’m doing right now is taking my money maker tweet, and copying it exactly into a new tweet every two weeks. Then I swap that into the campaign. I’m really not sure if this is necessary, but it’s simple enough to do.

Tune your bid

You can tune your bid constantly. At low bids like $0.10 or less, you will see that your impressions tend to come in bursts. One day I had 500 impressions in the US market all day, and then I suddenly got 10,000 in the hour starting at 10pm. It really doesn’t matter. Whenever you get impressions, you’ll get your clicks, and then you’ll convert some of those leads to customers. If you bid higher, you’ll spend more and speed up the process. If you bid lower, you’ll save a little money and slow things down.

You need to set a cap, though. At $2.99, your royalty is about $2. Your bid should not ever be higher than $2 times your conversion rate. If your conversion rate is 5%, you should not bid higher than 0.05 x 2 = $0.10. You can bid lower if you want. Your campaign will go slower, but you’ll do better than break-even. You should not bid higher. That’s called paying people to read your book, and it’s a rookie mistake.

Also, feel free to add more accounts to the list if you find one that you think has good prospects following it. Don’t forget to add them to every campaign geography segment.

Test price elasticity

Run your ad campaign for at least two weeks before going to this step. You want to make sure that you’ve tuned your bid and have a consistent flow of clicks going to your page. Pause your existing campaigns, and copy them.

Increase your price. My first experiment was to go from $2.99 to $3.99. That’s ongoing, so I don’t have results to report yet. At the same time, I tuned the UK and Canada prices so they were prices ending in “99” as well. (At some point, I hope to test whether I get better conversion at “99” prices or at prices ending in something weird like “73.” I read a study once that said home prices that were weird numbers held better in negotiation.)

You can leave everything identical (you’ll have to select the tweet again). Launch the copy. The reason for doing the copy is that it’ll be easier to count clicks. We expect that our conversion rate will go down at a higher price, which is bad. But we make a lot more money per book, so it might be good. There’s only one way to know: test it.

Suppose you have 5% conversion at $2.99 ($2.04 royalty). With a fixed number of clicks, that’ll earn you the same money as a 3.6% conversion at $3.99 ($2.72 royalty). So after changing your price, you want to know if your conversion drops more or less than that “equivalent” level. If it doesn’t drop as much, you can keep your bid where it is and you’ll make money. If it drops more, you have established that $3.99 is above your optimal price, and you should test something lower.

Let it run for a week. I’ll update when I’ve got my data and we can compare notes.

Update: I finished the tests.

Twitter Ad Campaign: Step 4

This is part of a series of posts about how to run a successful Twitter Ad campaign to promote your book. Start here.

Step 4: Run a real campaign

Now that we have our target accounts set, and we have a tweet that does well, we are ready to run a real campaign. You can copy the test campaign as a starting point, so you don’t have to put in all those accounts again.

Segment your markets

Change the locations to just US and Canada. Scroll down to the bottom and set your budget to $10/day and $10/total again, and pick your winning tweet to promote. Note that Twitter suggests you promote three, but it’s fine to just do one. And it eliminates a variable, which is helpful. Launch that campaign.

Now copy that campaign, and change the locations to just the UK. You’ll need to set the tweet again. Launch that.

If you are doing any other countries, make separate campaigns for them.

This is called “segmenting your markets” and there are two reasons to do it. First, the ad markets vary a lot by country. So in some countries you will be able to get impressions with a lower bid than will yield impressions in other countries. You only get to set one bid per campaign, so this alone is a good reason to keep them separate. Second, buying behavior varies by country. My conversion rate is better in the UK than it is in the US/Canada market. I have no idea why that is. But it is, which means my break-even bid is different for that market.

Track results

Twitter will report clicks in pretty-much real-time. Don’t look at any of the other numbers because they are irrelevant and will confuse you. Plus they are mostly wrong. All you care about in the Twitter Ads interface is clicks.

Over in your KDP dashboard, you can see sales. Since you segmented by market, you can look at the sales in each market separately. Note that if you use the “Generate Report” button down at the bottom, it’s a lot easier to add up the numbers. Be sure to use the second sheet in that spreadsheet (“Orders Report”). That is the count of people who clicked “buy.” The Royalty report has some time lags in it, which can be confusing.

Be careful to only look at the report for the book you are promoting!

It is okay to tinker with your bid now and then. Raise it a little if you are not getting impressions in that market. Lower it if you are getting a lot of them. Ideally, a $10 campaign should last a few days, so you get a good cross section of data.

Compute your conversion rate

  1. Number of copies sold: _____
  2. Number of clicks: _____
  3. 100 times line 1 divided by line 2: ____%

Your conversion rate will vary a lot at the beginning, but you’ll find it stabilizes to some number. In the US/Canada market, my conversion rate at $2.99 is 4.5%. In the UK at a similar price, it’s 6.5%. If yours is higher than mine, that means your blurb and/or reviews and/or targeting are better than mine. And if yours is lower, it means they aren’t as good, and you should tinker with them to see if you can make them better.

We are going to use this conversion rate to compute our maximum bid going forward, which takes us to Step 5.

Twitter Ad Campaign: Step 3

This is part of a series of posts about how to run a successful Twitter Ad campaign to promote your book. Start here.

Step 3: Run a test campaign

We are finally ready to run a campaign. Almost. A Twitter Ad is actually a Promoted Tweet. You tweet like normal, but then you tell Twitter Ads to promote that tweet, so it shows up over and over in the feeds of people who do not follow you. So before we can run our campaign, we need to write some tweets.

Write five tweets

Go to your character or book account that you made back in Step 1. Compose some tweets that you think might lead someone to click. Do not include a picture. Having a picture in there will reduce the number of people who click your link (despite what you may have read). No hashtags either. Some text and that link you made back in Step 2.

The formula that worked best for me is five stars (type star emoji if  you know how to do that, or just copy & paste them from this tweet). Followed by a sentence from a 5-star review. I found that sentences that make your book sound interesting/different work better than ones that say it is good. The five stars kind of already said it’s good. So you can use a sentence that captures attention.

Also, avoid anything sexy or suggestive. Twitter will prevent you from promoting any tweet which is remotely spicy.

Write five different tweets. We will use them all in this campaign, and see which one performs best. Then we will use that winner going forward.

Figure out your targeting

Now make a list of accounts to target. Your tweets will be shown to the people who follow these accounts. Find authors who write books similar to yours. Find the publishers who sell those authors’ books. Dig deep. Try to come up with 30-40 accounts (I’m using 40 in my campaigns). Obviously, bigger is better. And they don’t need to be authors you like. One of my biggest producers is followers of E. L. James (the 50 Shades lady).

If you can’t come up with that many, Twitter is going to suggest “similar” accounts when you start to enter these, so that might help.

It’s really important that you not target people who are unlikely to want to read your book. A big part of achieving conversion is talking to the right audience. But it’s also really important that you target a big group. Because if you don’t target very many people, you will not be able to get your ad seen at the price you can afford. Coming up with this list of accounts is the single most important thing you will do.

Spend $10

Okay, we are finally ready to create a campaign! Make sure your browser is logged in to your character or book account. It probably is already, since you just wrote those five tweets. Go to and give them your credit card number.

Create a campaign: “Website clicks or conversions”

Name it “Test” and set it to “Run continuously”

Update: DO NOT check the box for Twitter Audience Platform. See this post to understand why.

Set the locations to: United States, Canada, UK. These are the only places I’ve found Twitter Ads actually work. You can get impressions and clicks other places, but those people never actually buy the book. If you think your book appeals to other places, go ahead and include them.

Gender: Any gender (Twitter has no idea what gender people are)

If you are sticking with US, CA, UK, then there is no need to set language. But if you are trying India or Brazil because you think they might work for you, go ahead and choose “English.”

Add followers, and put in the accounts you listed. After you enter each one, Twitter will suggest some. Write those down. They might be good additions to your list.

Do not do any demographic targeting. None. Here’s the problem: Twitter has no idea what demographics anyone is in. It doesn’t know gender or interests or any of that. If you touch any of the demographic controls, you will ruin all that careful targeting of accounts you just did. Don’t do it!

I only put tweets in people’s timelines, because I find those other places annoying. But follow your gut on which of those to check.

Set a daily maximum and a total budget of $10.

Set your bid to $0.09. Yes, Twitter is going to yell at you and say it should be 16 times that big. Twitter lies. $0.09 will get you plenty of impressions.

Select the 5 tweets that you made earlier.

Launch your campaign.

Sell nothing

You won’t get any impressions or clicks for a little while. Don’t worry about that. Eventually you’ll start to get both. You might not sell anything during this test. But that’s okay. Our objective here is only to find the best tweet to use going forward.

You will be lured by the analytics interface to look at demographics and which accounts worked best and other random things. Don’t fall for it. Twitter has no idea about any of that. Those numbers are all junk. All you care about right now is which tweet to use, and all you’ll care about at the end is how many books you sold.

At $0.09 per click, your $10 campaign will generate 111 clicks. If you want, you can lower your bid and you will get more clicks, but it will take longer. If you don’t get any clicks after a day, you probably aren’t targeting enough users. If you get a lot of clicks in the first few hours, you should lower your bid to slow things down. You can adjust the accounts you target and your bid and anything else you want while this test is running.

Pick your winner

By the end of the test, you’ll see that each of your tweets has a “Click Rate” associated with it. One of them will have the best click rate, and that’s the winner. Having a tweet that draws clicks well is a good way to ensure you get the maximum exposure, fastest, for the lowest cost. It’s complicated math to explain why, but trust me that a tweet with a better click rate is better for you economically.

For reference, the click rate of my star tweet is about 0.6%. That means one in 167 people who sees it, clicks it. Since I’ve never clicked a Twitter Ad in my life, I think that’s actually pretty impressive.

Congratulate your winning tweet, and join me at Step 4.

Twitter Ad Campaign: Step 2

This is part of a series of posts about how to run a successful Twitter Ad campaign to promote your book. Start here.

Step 2: Get your book ready

I know, you are itching to get your campaign going. But remember that while a campaign will get you leads, it is up to your book page on Amazon to convert those leads to customers. That process is called “conversion” and the percentage of leads you manage to turn into customers is called your “conversion rate.” For reference, my conversion rate is about 6% at my $2.99 price point. That means 1 out of 16 people who click my Twitter Ad go on to buy my book. I have no idea how good that is. I can’t find any data to compare it to. But you can compare your performance to mine, anyway.

Fix the back matter

Remember that the objective here is not to make money on these sales. We are running a break-even campaign. We plan to spend as much on advertising as we earn on royalties. The reason this is not insane is that you have more than one book. (If you only have one book, go here.) You need the people who read this book to go on and buy your next book. That’s where the profit happens.

The best way to get a repeat customer is to have stuff at the end of your first book that promotes your next book. In this biz, they call this “back matter.” It’s the stuff in the back, after your story ends. Some people think putting the first chapter of the next book back there is good. I didn’t like that idea for my first novel, so I just put in a link to the next book. (I also put in a plea to write a review on Amazon, GoodReads, and LibraryThing.) If you haven’t done something like this, go add it to your book and update the version available for download.

Fix the blurb

When someone lands on your book’s page at Amazon, they are going to read the blurb. A great blurb is probably your best hope of achieving conversion. Get outside opinions on your blurb from people who understand marketing. Chances are very good that your blurb is too long. I say this because almost every blurb I see is too long. You want to give a feel for what the book is, but not get too detailed. If your book is fiction, take a look at this formula. It is how I wrote my blurb. You want to leave no question at all in the prospect’s mind what your book is. Lingering question = no sale.

Fix the price

Set your price to $2.99. A lower price will lead to lower royalties per book, but more books. Amazon says that $2.99 (the lowest price at which they pay 70% royalties) is the price at which royalty times sales volume will be maximized. It might be that your book will produce more profit at a higher price, but you cannot possibly know that yet. We will find the best price in Step 5. But for now, you should set it to $2.99 to maximize your conversion rate.

If you think that there is a value argument that says you should have a higher price, you are delusional. Price and value have absolutely nothing to do with each other in the book business. You should set your price to the point that produces the highest royalties for you. I’ll show you how to do that in Step 5.

While you are in the KDP dashboard, seriously consider opting in to KDP Select. That will make your book available to Kindle Unlimited (KU) users. If you aren’t familiar with KU, it’s basically Netflix for books. You get paid about a half a penny per page read, which works out to the same royalty you’d get selling an 80,000 word book at the $2.99 price. KU reads account for about 15% of my sales from ad campaigns, and over the long term have accounted for about 11% of my royalties across Kindle & Print editions. Are the other stores you are in giving you 10-15% of your sales? If not, enroll in KDP Select.

Fix the reviews

People coming to your page are going to look at your cover, your blurb, and your reviews. If you don’t have very many reviews, you really need to fix that. Badger everyone you know who has read your book to write one. It really doesn’t matter what they say. But a book with only a handful of reviews looks riskier to your prospect than one that has a lot of reviews. What’s a lot? I’m not sure. 5 is not enough. 50 is more than enough. But obviously, the more the better.

Also, you really need to have 4 stars or better. If you don’t, it’s unlikely that you are going to achieve conversion. If your book was dragged down by a few mean idiots, then getting more reviews from more people will get your stars up. If your book really is just a 3-star book, then I’d recommend abandoning marketing and promotion, and shift your focus to your writing.

Set up a link

Amazon has a whole bunch of different stores. And the link to your book is a link to a particular store. If you send someone in the UK to, they won’t be able to buy. And it won’t be at all clear to them why not. It’s horrible. But there’s a solution.

Go to and follow the instructions to make a link. You can give it a nice short name. From now on, use that as your only book link. That site magically directs anyone coming in on your link to your book in the right store.

You should make one of these links for each of your books, and this should be the link you use in the back matter of your first book.

This is the link we will use in the tweets that we are going to write in Step 3.