How can I keep a city-state allied with me without bankrupting myself?

I recommend not "investing" in a city-state unless you can get some influence for free to start out. Killing Barbarians or doing another quest for them will get your foot in the door, and let the $250 you have to spend periodically give you a lot more value. For instance, that $250 will be keeping you above the "Allied" line instead of just barely making you friends with the city-state.

Likewise, as mentioned above, the Patronage tree will give you significant bonuses to your influence over city-states.

It seems that the design is such that in the early game you won't be able to guarantee a city-state ally without committing a lot of cash.

To elaborate (not 100% sure on all these numbers but the overall point is still valid):

If you spend $250 to become Friends with a city-state, starting from 0 influence, you'll get 35 influence, making you barely Friends (30 influence). This means you'll be friends for 5 turns, at which point you'll need to spend another $250 to be friends again. You probably don't have another $250 that soon, though, so the influence runs all the way down close to zero before you're able to spend another $250, which again only gives you a few turns of friendship. This is obviously unsustainable.

If instead you perform a mission for the city-state and get 30 or 40 influence to start with, every time you spend $250 you'll get to use all 35 points of that influence before needing to spend another $250.

Similarly, you'd be better off saving your money to start with $500 worth of influence than buying $250 and not being able to afford more right away.

Long story short: if you're already friends, you get more value for your money. Likewise, if you're already allies, you get even MORE value for money you spend to sustain at that level.


Ways to Keep/Improve Favor with a city-state:

  1. The Patronage Social Policy Tree - this tree has can help improve the amount of influence gained with cash donations, slow the decrease of influence over time, and improve the "default" influence level on all city-states. These policies make a huge difference.

  2. Playing as Alexander the Great of Greece gets you the "Hellenic League" bonus: "City-State influence degrades half as slowly as normal, and it recovers at twice the speed as for other civilizations." Also, Alexander has an undocumented bonus that trespassing in the territory of another city-state does not cause you to lose influence with them.

  3. Pay attention to the disposition of the city-states you ally with. "Friendly" nations will lose influence slower, and "Hostile" nations lose influence faster. Favor Friendly allies to save money.

  4. Do Quests offered by the city-state.

  5. Liberate a conquered city-state. Liberating a conquered city-state will greatly increase your favor with them. City-State must have been conquered by an opposing nation first. Liberated City-States will also Always vote for you for Diplomatic Victory.

  6. Free stolen workers - if another player has stolen a worker from a city-state, capturing the worker will give you an option to give it back to the city-state it originated from. I only had this happen once, but I think it gave me more influence than gifting my own units to them, if I'm recalling correctly. (Please correct me in the comments if this is wrong)

  7. Gift Units to the city-state.

  8. Gift Money to the City-State.

(Edited to summarize a number of good points made by other posters)