So, I start with standard ketchup. I know it seems pedestrian, but there is no other option. To that I add a bevy of spices including the following in the order I add them and in descending quantity: chili powder, cumin, smoked paprika, hot paprika, garlic powder, ground ginger, mustard powder, onion powder, fresh ground pepper, and only a dash of salt. There will be enough salt from the other things added, so you don't need much more. I do have one more secret, but it is a little...I don't know...remedial. McCormick makes a roasted garlic and herb seasoning for chicken. I add a dash of that for a little depth of flavor.
Now, getting away from the store-bought ingredients, I stir the mixture of ketchup and spices together and let it simmer for a minute or two. Now, it is always important to connect sauce with main dish. When I slow-cook my ribs or pork shoulder, I place them in a roasting pan and fill the bottom pan with a mixture of apple cider vinegar and some of the dry-rub I put on the ribs. So, a tablespoon or so of apple cider vinegar goes into the pot of BBQ sauce. Also, in the dry-rub I add about a half of a cup of brown sugar for caramelization when I put the ribs on the grill. So, into the pot goes brown sugar and white sugar. Add all of these ingredients to taste, meaning add some, taste the sauce, and determine f you have added enough or need more. You shouldn't be able to taste any one ingredient, but just the note of flavor the ingredient brings to the dish, or in this case, a sauce.
Thinking about flavor profile, we now have salt, acid (vinegar), sweet (sugar), and bitter (mustard powder and other spices). This is the makings of a very nice, rich and deep BBQ sauce. Please do some trial and error and post your results. Your preferred taste will probably be different from mine, so adjust amounts as you like. Be careful with the vinegar however- it is easily overdone. Enjoy.