Category: Plugins

  • Adopt-A-Duck — TerrainDucks Campaign

    UGC Campaign

    Adopt-A-Duck: a joyful WordPress UGC campaign that actually drives outcomes

    Summary: fans “adopt” a duck, roll a curated name, pick fun traits, and write a one-line backstory. Entries become a shareable gallery and a weekly Featured Duck moment. Cute—but engineered for reach, email capture, and repeat visits.

    CuratedSFW name list
    ShareableOG-optimized
    Woo-Readyoptional coupons
    ExtensibleCPT + REST

    1) Why this works (behavior & business)

    • Tiny creative ask → high completion: name + one line + a few taps.
    • Curated safety: SFW name list and backstory guardrails keep it brand-safe.
    • Shareable proof: every adoption has a clean, OG-optimized certificate page.
    • Weekly ritual: “Duck of the Week” gives you a dependable content beat.
    • Optional reward loop: coupons/perks nudge store visits without overshadowing the fun.

    2) What you get

    CPT + Meta

    Clean “Adoptions” post type with traits, backstory, email, tag UUID, and more.

    Adopt UX helpers

    🎲 Randomize Name, trait prefill, 140-char counter.

    Filterable Gallery

    Shortcode grid with trait filters and featured badge.

    Certificate Template

    Shareable single with OG tags and copy/tweet buttons.

    Moderation Hooks

    Length cap + banned term masking via filter.

    Featured Logic

    Manual “Feature Now” + weekly scheduler; optional rewards.

    Need it re-skinned or folded into a larger activation? Hire Ameen Systems.

    3) Live demo flow (screens)

    1. Land on /adopt → tap 🎲 Randomize Name → pick traits → write one line.
    2. Submit → Thank you → link to your certificate.
    3. Friends see the certificate → discover the /adoptions gallery → adopt theirs.
    4. Each week, one becomes Featured Duck → announcement + optional reward.
    Adopt page UI with randomize and trait selects
    Filterable adoption gallery
    Shareable certificate page

    4) Implementation guide (10 steps)

    1. Activate the plugin in WordPress.
    2. Create /adopt and add [td_adopt form_id="123"].
    3. Create /adoptions and add [td_adoption_gallery per_page="24" filters="true"].
    4. (Optional) Add data/duck-names.php returning an array of curated names.
    5. Wire Fluent Forms using the field map below.
    6. Submit a test adoption; confirm it appears under Adoptions.
    7. Approve the post (only approved entries show in the gallery).
    8. (Optional) Open Settings to schedule weekly Featured + edit email template.
    9. (Optional) If WooCommerce is active, enable coupon rewards.
    10. Launch with QR talkers/tags; announce on socials.

    5) Fluent Forms field map

    Field labelTypeName/KeyNotes
    Duck NameText (read-only)duck_nameFilled from curated list; Randomize button
    Backstory (140)TextareabackstoryJS counter + server cap
    GenderSelectgenderboy, girl, neutral
    Favorite ColorSelectcolorYellow, Blue, Teal, Pink, Purple, Orange, Red, Green, Black, White
    Favorite ActivitySelectactivityBeachcombing, Hiking, etc.
    VibeSelectvibeChill, Adventurous, Silly, …
    Hometown (opt.)TexthometownOptional
    EmailEmailemailNotification & rewards
    Photo (opt.)FilephotoUsed as featured image
    (Hidden) Tag UUIDHiddentag_uuidAuto-filled from ?t= param
    (Hidden) CampaignHiddencampaign_idValue: adopt

    6) Moderation & safety

    • Backstory length: hard-capped to 140 chars (client + server).
    • Banned terms: mask via a filter hook (example below).
    • Manual approval: approve/unapprove in the Adoptions list.
    • Curated names: ensures SFW baseline—swap in your list anytime.
    // functions.php — add banned words
    add_filter('td_adopt_banned_words', function($words){
      return array_merge($words, ['badword1','badword2','slur1']);
    });

    8) Measurement: analytics checklist

    • adopt_randomize_click
    • adopt_submit_success
    • adopt_gallery_filter_change
    • adoption_share_click
    • adoption_featured_view

    We can wire GA4/Pixel + UTM share links for you. Hire Ameen Systems.

    9) Growth playbook (30/60/90)

    Days 0–30

    • QRs on tags/tables/posters
    • “Funniest Name Friday” mini-contest
    • 2×/week Reels/carousels with new adoptions
    • Email autoresponder: certificate link

    Days 31–60

    • Seasonal trait packs
    • Local partner co-feature
    • Press blurb outreach
    • UGC theme weeks (“Cozy”, “Adventure”)

    Days 61–90

    • Quarterly “Best of the Flock”
    • Weekly email digest
    • Perks for repeat adopters
    • School/nonprofit variant

    10) Email templates

    Submission confirmation

    Subject: Your duck is almost live!

    Thanks for adopting a duck! We’ll give it a quick once-over and then you can share the certificate page with friends.

    Approval notification

    Subject: Your duck is live: {duck_name}

    Certificate: {permalink} — share your duck with the world 🐤

    Featured Duck winner

    Subject: Duck of the Week: {duck_name}

    Spotlight: {permalink}
    {maybe_coupon}

    Coupon phrasing

    Here’s your one-time code: {coupon_code} (valid for X days).

    11) Accessibility & performance

    • Visible labels and maxlength on the backstory field.
    • Meaningful alt text (duck name) on thumbnails.
    • Keyboard-friendly buttons with focus styles.
    • Only loads assets on adopt/adoptions pages or single adoption.

    12) Troubleshooting

    • Empty gallery: approve entries first.
    • No randomize button: ensure td-adopt.js is enqueued (it is when the shortcode is present).
    • Weekly pick didn’t trigger: check day/hour/timezone; verify WP-Cron runs.
    • Coupons not created: WooCommerce must be active; otherwise fallback code is emailed.
    • Custom names not loading: data/duck-names.php must return a plain PHP array.

    13) FAQ

    Do I need WooCommerce?

    No. Coupons are optional; everything else works without Woo.

    Is Fluent Forms required?

    Recommended for a polished UX, but not required—the mapping works server-side.

    Can I customize the certificate?

    Yes. Copy the template to your theme and style freely.

    Can I use my own name list?

    Absolutely—add data/duck-names.php returning an array of curated names.

    How do tag UUIDs/QRs work?

    Append ?t=YOUR-TAG-ID to the adopt URL; the submission stores it for attribution.

    Bring this to your brand

    We’ll theme the UX, wire automations and analytics, and ship a crispy launch plan—so you can go from idea to adorable results fast.

  • Introducing Terrain Ducks — Duck Map

    Introducing Terrain Ducks — Duck Map for WordPress

    A playful, reliable way to turn real-world “duck sightings” into an interactive community map.

    What it does

    • Collect sightings from visitors: duck ID, city/state (or “Use my location”), caption, photo.
    • Approve & publish submissions in WordPress—one-click Quick Approve or Bulk Approve.
    • Display a fast, clustered map with Leaflet + OpenStreetMap via a simple shortcode.
    • Respect privacy with friendly geocoding, sensible upload limits, and nonce-protected REST.
    • Grow your audience (opt-in)—seamless FluentCRM tagging when a contributor checks the box.

    Drop-in shortcodes

    • [td_duckmap] — global clustered map
    • [td_duck] — helper block for a specific duck
    • [td_duck_sighting_form] — native submission form

    Built-in admin polish

    • Email admins on new submissions; optionally email contributors on approval.
    • Dashboard snapshot: recent approvals, pending count, opt-in rate, top ducks.
    • Settings for map center/zoom, marker icon, and notifications.

    🛡️ Privacy-first No exact address required. Photos optional. Marketing is explicit opt-in.

    How to get started

    1. Install & activate the plugin in WordPress.
    2. Create a page and add [td_duckmap].
    3. Add the submission form with [td_duck_sighting_form] (link with ?duck=S431 if you like).
    4. Approve a few sightings in the admin—pins appear instantly.
    5. (Optional) Connect FluentCRM and enable marketing opt-in.

    FAQ

    Do I need exact GPS?

    No. If a user doesn’t share location, the plugin geocodes city/state to a general spot. Exact addresses are not required.

    Is there spam protection?

    Yes—rate limiting on submissions, sensible file constraints, and nonce-protected REST endpoints.

    Can I email contributors?

    Yes, when contributors opt-in, their contact is tagged in FluentCRM so you can send updates or rewards.

    Made by Ameen Systems

    We build focused tools that feel dependable, respectful, and fun. Want a custom theme, sponsor mode, or gamified “bingo” cards?

    Let’s talk about your map idea.

    Shortcodes (copy/paste)

    [td_duckmap]
    [td_duck]
    [td_duck_sighting_form]