You have probably had your thyroid tested before and been told your thyroid was "normal". Let me let you in on a little known secret. Most providers only test a TSH. This is a great test but is not the whole picture of your thyroid health. It is important to look at all of your thyroid markers such as free t4, free t3, tpo, and tg antibodies as well.
Many things can cause thyroid abnormalities such as iodine or selenium deficiencies. You can also have thyroid issues, such as Hashimoto's Thyroiditis, that stem from the foods you are eating!
Most conventional providers only look at a normal reference range when looking at a TSH level. The reality is that you can begin having symptoms of hypothyroidism with TSH levels above 2.5. That means you could have been told you had a normal thyroid level and still have had a subclinical hypothyroidism.
If you are feeling symptoms that you can not explain such as weight gain and fatigue, you need a complete thyroid evaluation.