Immersion in a country where your target language is spoken is one of the most effective ways to master a foreign language, assuming you can avoid the expat bubble and you are at least lower intermediate in the language already.
Unfortunately, an immersion program at an in-country language school can be quite expensive - they know they are catering to rich foreigners - and sometimes the "immersion" is really just four hours a day of mind-numbing classroom instruction by teachers unfamiliar with the latest didactics.
There is also the case that you simply cannot find any appropriate immersion program, for example because you are learning a smaller language, you are traveling out of season, or your destination doesn't have a language school for foreigners. Such was the case when I booked trips to Dubrovnik, Croatia, and Kotor, Montenegro, in order to improve my BCMS, the language formerly known as Serbo-Croatian.
How can you still create an intensive language-learning experience for yourself?
It's surprisingly simple, and creating this experience yourself may be both cheaper and more rewarding than just booking a program.
First, flights and accommodation. This is something you usually have to book yourself anyway, even when participating in a language school program. For the purpose of a DIY immersion, I recommend not staying at a hotel but renting a private room with a local family or even couchsurfing. A hostel might also work, if it's mainly frequented by people from your target country and not foreign tourists with whom you'd be tempted to mingle. (Hint: if it doesn't have an English website, there probably won't be many foreign tourists.)
Next, check out what experiences you can book - tours of the city, food tastings, boat rides, excursions, yoga on the beach at sunrise, whatever floats your boat. Contact the organizer and discuss whether these experiences could be in your target language. If so, they will be worth twice as much as an equivalent time spent in the classroom, because the human brain is wired to remember words and expressions associated with positive emotions and unusual events.
You probably still want some more formal classes where you can ask questions, do exercises, and practice speaking with someone patiently helping you along. I personally like 1:1 classes, because they are more intense (no time spent waiting on other students) and 100% focused on the things I need to learn. 2 hours / day of private classes are probably the equivalent of 4 hours / day of group classes at a language school. Tip: if you cannot find a private teacher that you jive with, try hiring a student of history or a tourist guide. They have a lot of fascinating stories to tell, and if you're at an intermediate level or higher, conversation practice is more important than grammar study.
If you have the chance to take the classes in a beautiful environment rather than a typical drab classroom, go for it! When I was in Dubrovnik, my private teacher and I would usually have classes on the terrace, with a view like this:
This made the classes a lot more memorable. Sometimes we also practiced while walking around the oldtown.
Finally, with excursions and classes forming the main part of your stay, you'll still want to practice the language in unstructured ways, with people you meet locally, so research where people tend to congregate, maybe join some Facebook or Meetup groups in order to hear what's going on or even pre-arrange to meet people for coffee and language exchanges.
Once you're in the country, there are three ways to spend even more hours immersed in the language:
1) turn on the TV instead of watching Youtube
2) wander into a local bookstore and buy a book that looks interesting to you
3) use taxis whenever reasonable - taxi drivers are usually very willing to chat with you in their language
Above all, have fun! The most important part of this language-learning vacation is not the grammar you learned, but the memories you made: they will carry you through the dark hours, when you're back in your home country on a cold, rainy day and need to find the motivation to study the language.
Good luck with your studies!