Combine marinade ingredients in a medium bowl. Set aside.
Place the whole chicken onto a large cutting board. Trim any excess fat or hanging skin that might otherwise cause flare-up on the grill. Pat chicken dry with paper towels and apply marinade all over. Make sure to get under the skin of the breast.
Set chicken into a sealable container (large bowl with plastic wrap, freezer bag, or plastic container with a lid). Place into the refrigerator to marinate for 12-24 hours.
Preheat grill for medium-high heat, indirect cooking.
Remove chicken from the refrigerator and truss with kitchen twine.
Cut a hole into the onion using a paring knife. Doing so will help guide the rotisserie rod through. Slide onion onto the rod and insert into the chicken cavity. Run the rod through and secure rotisserie forks.
Place chicken on the grill. Fill a drip pan with one cup of water and set it under the chicken. Cook for 70-90 minutes or until chicken reaches an internal temperature of 180 in thigh meat and 165-170 in the breast.
Once cooked through, use heat-resistant gloves to remove the chicken with the rotisserie rod still intact. Place onto a clean cutting board—loosely tent chicken with aluminum foil. Let rest for 10 minutes. Discard drip pan.
Remove the rod and cut away the kitchen twine. Carve chicken and arrange it onto a serving platter. Spritz with a bit of fresh lime juice, and top with cilantro before serving. Enjoy!