You'd use a server-side language to set a session cookie, like Meldin says. Here's an example of just about the laziest way to do it (I only know PHP, so that's what this uses; any language would work, though):
$_SESSION['showBanner'] = TRUE; // or FALSE, whatevs
But I disagree.
The banner shows up by default, so when would you set this value? Obviously, when the user clicks the "hide" link. But how would that work?
You're using JS to hide the banner anyway, so if you just set the cookie in JS, that's a single line you'd add to the click event listener.
But if you wanted to use a server-side language to set the value, you'd have to either turn the "hide" link into a form submit (so that your server can set the session variable and then redirect back to whatever page the user was on) or send an AJAX request... Hiding the banner is a client action, so you'd have to figure out some way to get the server involved.
On the other hand...
How are you creating the HTML for the banner in the first place? It looks like you're using a server-side language to build your pages anyway, and (in my opinion) it would make more sense to have the server hide the banner by default (maybe just by adding a "hide" class to it, or something). It just seems clunky to have it show up, check for the cookie with JS, and then hide it if the cookie is found.
Thankfully, cookies set by JS are sent to the server!
So I would suggest setting the cookie with JS (whether it's a session or not) whenever the user clicks the show/hide button, but checking for the cookie on the server, when you build the page...
If that's doable.