Suo padre, Giovanni, che dal 1280 era conte di Hainaut, nel 1299, divenne anche conte d'Olanda e di Zelanda, dopo la morte, senza eredi, del cugino Giovanni I d'Olanda, avvenuta, secondo il capitolo 77b della "Chronologia Johannes de Beke", il 10 novembre 1299, ad Haarlem.&lt;br&gt;Ancor giovane, Guglielmo prese parte attiva alle lotte della sua famiglia contro la linea rivale dei Dampierre, che erano signori della contea delle Fiandre; dopo aver sconfitto i fiamminghi, nel 1300 e 1301, con l'aiuto del re di Francia, Filippo IV il Bello, nel 1302 i francesi furono sconfitti alla Battaglia degli speroni d'oro, a Courtrai, in cui perse la vita suo fratello, il primogenito, Giovanni; dato che il fratello secondogenito, Enrico, aveva abbracciato la vita ecclesiastica, Guglielmo divenne erede delle contee dell'Hainaut, dell'Olanda e della Zelanda.&lt;br&gt; I fiamminghi vennero infine sconfitto nel 1304 dalle flotte olandesi e francesi, al comando di Ranieri I di Monaco, nella battaglia navale di Zierikzee, in cui fu presente anche Guglielmo (questi avvenimenti sono raccontati dalla "Chronologia Johannes de Beke") e così, suo padre, Giovanni, riconquistò il proprio potere di cui fu privato con il sopraggiungere della morte che lo colse il 22 agosto di quell'anno, appena dieci giorni dopo la vittoria; secondo la "Chronologia Johannes de Beke", Giovanni morì il 12 settembre a Valenciennes, dove fu sepolto. Alla morte di Giovanni come conte di Hainaut, di Olanda e di Zelanda, gli succedette il figlio Guglielmo.