To complement Mark Grant's excellent answer, I'll say something more about the general case. This topic goes under the name of *obstruction theory*.

The first observation is that a $G$-bundle on $X$ is the same thing as an homotopy class of maps $X\to BG$. To study them we will use the *Postnikov tower* of $BG$. This is a tower assembled by spaces $P_n(BG)$ together with a map $BG\to P_n(BG)$ such that

- The  map $\pi_i(BG)\to \pi_i(P_n(BG))$ is an isomorphism for $i\le n$;
- $\pi_i(P_n(BG))=0$ for $i>n$.

We can assemble this spaces together so to form a tower as follows:

$\require{AMScd}$
\begin{CD}
    @. \vdots\\
    @. @VVV \\
    @. P_2(BG)\\
    @. @VVV \\
    X @>>d> P_1(BG)
\end{CD}

and moreover the limit of the tower is $BG$. So we can study the homotopy classes $[X,BG]$ by studying the collections of arrows $[X,P_i(BG)]$ making the diagram commute.

Now let's start at the bottom of the diagram. By definition we have that $P_1(BG)$ is a $K(\pi_1BG,1)=K(\pi_0G,1)$, so we have

$[X,P_1(BG)] = [X,K(\pi_0G,1)] = H^1(X;\pi_0G)$

This is our first cohomology class, corresponding to $w_1$ in the case of $BO(n)$.

Now let us suppose that we have lifted our map all the way to $P_n(BG)$ and we want to see what algebraic information corresponds to a lift to $P_{n+1}(BG)$. It turns out that there is a cartesian diagram
$\require{AMScd}$
\begin{CD}
    @.  P_{n+1}(BG) @>>> K(\pi_0G,1)\\
    @.  @VVV @VVV\\
    X @>>> P_n(BG) @>>> K(\pi_{n+1}G,n+2)_{h\pi_0G}
\end{CD}
(don't be scared by all those homotopy quotients you see: they're just the homotopy theorist's way of saying that we're dealing with *twisted* cohomology classes). So lifting a map from $P_n(BG)$ to $P_{n+1}(BG)$ is the same thing as lifting a map from $K(\pi_{n+1}G,n+2)_{h\pi_0G}$ to $K(\pi_0G,1)$. This is saying that the lift exists if and only if some class in $H^{n+2}(X,\pi_{n+1}G)$ vanishes (not all choices of characteristic classes will correspond to a $G$-bundle!) but, more importantly for us, this is exactly the same situation as in Mark Grant's answer and so the possible choices are parametrized by a class in $H^{n+3}(X,\pi_{n+1}G)$.

So, to sum up we will have

- A class $\alpha$ in $H^1(X;\pi_0G)$
- An infinite sequence of classes in $H^{n+1}(X;\pi_nG)$ for $n\ge1$ where the coefficients are twisted by $\alpha$.